私はpkill
そこよりも多くのフィルタリングルールがあることを知っていますkillall
。私の質問は、次の違いは何ですか?
pkill [signal] name
そして
killall [signal] name
killall
私はこれがより効率的で、name
プログラムに一致するすべてのプロセスとサブプロセスを(そして再帰的に)終了することを読んでいます。pkill
あなたもこのようなことをしませんか?
ベストアンサー1
これpgrep
そしてpkill
ユーティリティはSunのSolaris 7に導入されました。g33klordが指摘しました、実行中のプロセスの名前と一致するパターンを引数として使用します。pgrep
一致するプロセスのリストのみが印刷されますが、指定されたpkill
信号(またはSIGTERM
デフォルト値)がプロセスに送信されます。pgrep
との間の共通のオプションとセマンティクスは、注意を払って最初に を使用して一致するプロセスのリストを確認し、次に を使用してプロセスを終了し続けたい場合に便利です。そして提供されるpkill
pgrep
pkill
pgrep
pkill
プロセス/proc
次のような他のファイルシステムユーティリティも提供するパッケージps
、top
、free
、uptime
他のものの間。
このkillall
コマンドは以下で提供されます。いくつかの雑多なただし、デフォルトでは、pkill
信号が送信されるプロセスを決定するときにパラメータ名と正確に一致します(最大最初の15文字)。 15文字より長い名前の正確な一致を要求する-e
オプションを指定できます。これと比較してより安全です。指定されたパラメータにスラッシュ()文字が含まれている場合、パラメータはファイル名として解釈され、その特定のファイルを実行するプロセスがシグナル受信者として選択されます。プロセス名の正規表現の一致も、オプションを通じてサポートされます。--exact
killall
pkill
/
killall
-r
--regexp
他の違いもあります。killall
たとえば、コマンドには期間ごとにプロセスを一致させるオプション(-o
、、、、、--older-than
)-y
があり、(このオプションを使用して)特定の端末のプロセスのみを終了するように指示できます。明らかに、両方のコマンドには特定のニッチがあります。--younger-than
pkill
-t
ご注意ください、killall
システムサブアイテムのコマンドUnixシステムV(特に太陽の太陽、IBM AIXそしてHPのHP-UX)殺すみんな特定のユーザーがシャットダウンできるプロセスで、rootとして実行している場合はシステムを効果的にシャットダウンします。
Linux psmiscユーティリティが次に移植されました。BSD(そして拡大してMac OS X)、したがって、killall
「名前でプロセスを終了する」という意味に従います。