概要
pkillは`pgrep`と同じパターンマッチング機能を使用してプロセスを検索しますが、見つかったプロセスに指定されたシグナルを送信します。デフォルトのシグナルはSIGTERM(15)で、これはプロセスに正常な終了を要求します。`-9`オプションでSIGKILLを送信することもできますが、これは強制終了なので注意が必要です。
主な機能
- プロセス名でシグナルを送信
- ユーザー、ターミナル、フルパスなど、さまざまな条件でフィルタリング
- デフォルトシグナルはSIGTERM(正常終了)
- 強制終了(SIGKILL)が可能
主なオプション
pkillコマンドは、さまざまなオプションを使用してシグナルを送信するプロセスを精密に選択できます。
シグナルとマッチング
プロセスフィルタリング
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`pkill` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
pkillを使用して特定のプロセスを終了したり、シグナルを送信したりするさまざまな方法を示します。
nginxプロセスの正常終了
pkill nginx
nginxという名前のすべてのプロセスにSIGTERMシグナルを送信し、正常な終了を要求します。
特定のユーザーが所有するfirefoxプロセスの強制終了
pkill -u john -9 firefox
指定されたユーザー(例: 'john')が実行しているfirefoxプロセスを強制的に終了します。
コマンドライン全体で'my_script.sh'を含むすべてのプロセスを終了
pkill -f my_script.sh
プロセス名だけでなく、実行されたコマンドライン全体に'my_script.sh'が含まれるすべてのプロセスを終了します。
特定のターミナル(tty1)で実行中のすべてのプロセスを終了
pkill -t tty1
tty1ターミナルで実行中のすべてのプロセスにSIGTERMシグナルを送信します。
httpdプロセスにHUPシグナルを送信(再起動)
pkill -HUP httpd
httpdプロセスにSIGHUPシグナルを送信し、設定ファイルを再読み込みまたは再起動するように要求します。
ヒントと注意点
pkillを使用する際の注意点と役立つヒントです。
注意点
- `pkill -9`(SIGKILL)の使用は最終手段としてください。プロセスがクリーンアップ処理を行う機会を与えず、データ破損やシステム不安定を招く可能性があります。
- 意図しないプロセスの終了を防ぐために、まず`pgrep`でどのプロセスが選択されるかを確認することをお勧めします。(例: `pgrep -l <pattern>`)
- 正規表現を使用してパターンを指定できます。(例: `pkill 'apache.*'`)
- pkillはデフォルトで現在のユーザーのプロセスのみを対象とします。他のユーザーのプロセスを終了するにはroot権限が必要です。