単一のコマンドでプロセスを強制終了するにはどうすればよいですか?


18

単一のステップでIDを見つけた後、プロセスを強制終了します。

現在、次の2つのコマンドを使用しています。

pidof <name>
kill <#number_which_is_result_of_command>

これを行う単一のコマンドを作成するにはどうすればよいですか?


何のシェル?bashtcsh?...?
レボン

2
シェルのドキュメントでコマンド置換を探すことができます。
-deviantkarot

2
xkillを使用して視覚的に物を殺します。ターミナルでxkillと入力し、問題のアプリにカーソルを移動してボタンを押します。Gone

1
@arochesterこれは機能しますが、GUI環境に限定されており、killさまざまなコマンドがコンソールから機能します(さらに、スクリプトなどで自動化できます)。人々にこのxkillオプションを確実に知ってもらうにはまだ良い。
レボン

以下の回答のいずれかで問題が解決した場合は、回答の横にあるチェックマークをクリックして受け入れてください。両者に報酬ポイントを与え、この問題を解決済みとしてマークします。
レボン

回答:


18

名前でプロセスを強制終了することもできます。

例:

pkill vim  # kill all processes containing vim in the process name

@Levonよろしいですか?ヒント:に変更pkillしても機能しkillますか?
ミケル

動作しません、レボン。kill -9はPIDでプロセスを強制終了し、pkill -9は名前でプロセスを強制終了します。
fromnaboo

6
またはがない-o場合-n、1つだけでなく、すべての一致するプロセスpkillも強制終了されます。
ミケル

3
SIGKILL(-9)の使用を提案するための-1。これは悪いプロセスエコロジーです。SIGKILLを使用すると、プロセス内のデータはフラッシュされず、データが破損する可能性があります。
アルセージュ

6
提案killallは非常に悪いアドバイスです。どのUnix / Linuxを使用しているかによって、非常に異なる動作をします。
MikeyB

13

コマンドセットで特定の質問に答えるには、次を使用します。

kill `pidof <name>`

終了pidof <name>しようとしているプロセスのPIDが提供されるため、-9etcなどのコマンドラインスイッチでも使用できます。

bashおよびでテスト済みtcsh


9
ところで、kill $(pidof <name>)より互換性があり(POSIX)、別のコマンド置換ブロック内で使用できます。
ルドルフアダムコビッチ

@RudolfAdamkovic私は同意します、それは確かにスクリプトでより良いオプションです。ただし、クイック入力コマンドの場合、バックティックを使用する方が簡単です。さらに、両方の一般的なシェル(bashおよびtcsh)で$動作します..tcshで動作するバージョンを取得できませんでした。
レボン

試してみてtcsh、あなたは正しい。知らなかった。情報をありがとう!
ルドルフアダムコビッチ

7

Levonのコメントにすべきですが、そうするための担当者がここにいません。

この質問の受け入れられた答えの議論をリフティング:https ://serverfault.com/questions/397762/how-to-make-folders-00-99-with-a-single-command-in-ubuntu

私はそれが好ましい(または少なくとも後の検索者にとって有用/明確である)と思うと思います

kill $(pidof <name>)

$()対 ``の詳細なリファレンス:http : //mywiki.wooledge.org/BashFAQ/082


特に下のリンクを含めるための+1。@RudolfAdamkovicから同様のコメントを受け取りました。彼への返信をご覧ください。tcshで動作するこのバージョンを知っていますか?(シェルでクイックコマンドを入力する場合は、バッククォートを簡単に入力できます。)
レヴォン

私はbash(Linux)とksh(HP-UX)のみで作業しました。まだtcshとパスを交差させていません、ごめんなさい。
GhillieのDHU

1

killallコマンドを使用して特定のプロセスを強制終了することもできます。

killall vim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.