pkill コマンドは、一致するパターンに基づいて、指定されたシグナル (デフォルトでは終了シグナル) をプロセスに送信します。 pgrep コマンドに似ていますが、実際には stdout に出力する代わりにシグナルを送信します。たとえば、あるターミナルで top を開始し、別のターミナルで pkill top を発行すると、top が終了することがわかります。コマンドは、プロセス ID ではなく名前パターンと一致しました。
構文
このコマンドの構文は次のとおりです:
# pkill [options] {pattern}
kill コマンドと pkill コマンドは、プロセスに終了を指示するシグナルを送信します。各シグナルには、番号、名前、および関連付けられたイベントがあります。以下は、最も一般的に使用される信号とその機能の一部です。
番号 | 名前 | 説明 |
---|---|---|
1 | ほっと一息 | 設定ファイルの再読み込み |
2 | シギント | キーボードによる割り込み (ctrl+c) |
9 | シグキル | kill プロセス |
15 | SIGTERM | プロセスをすぐに終了します。 (クリーンアップが可能なように制御された方法でプロセスを終了します) |
18 | SIGCONT | STOP で停止したプロセスを続行 |
19 | ストップ | プロセスを停止 |
pkill コマンドの例
1. 一致するすべてのプロセスを強制終了します:
# pkill "process_name"
2. プロセス名だけでなく、完全なコマンドに一致するすべてのプロセスを強制終了します:
# pkill -f "command_name"
3. 一致するプロセスを強制終了します (ブロックできません):
# pkill -9 "process_name"
4. 一致するプロセスに SIGUSR1 シグナルを送信します:
# pkill -USR1 "process_name"
5. メインの `firefox` プロセスを強制終了してブラウザを閉じます:
# pkill --oldest "firefox"
6. 次の構文に示すように、pkill コマンドを使用して、特定の制御端末から実行されているプロセスにシグナルを送信できます。
# pkill -t [terminal_name] -U UID [command_pattern]