読者です 読者をやめる 読者になる 読者になる

らくがきちょう

なんとなく

pkill を使ってプロセス名だけでプロセスを停止する

Linux

プロセスを停止したい場合、プロセス ID を指定して kill を実行します。しかし、pkill を使えばプロセス名だけでプロセスを停止することが出来ます。今回は Ubuntu 14.04.3 環境で pkill を試します。

kill でのプロセス停止

kill コマンドを使ってプロセスを停止する場合、まずは ps でプロセス ID を確認します。ps に対してパイプした grep まで表示されてしまいます…

# ps auxw | grep PROCESS
root      2217  0.0  0.0   4200   620 pts/0    S+   00:49   0:00 PROCESS-1
root      2218  0.0  0.0   4200   792 pts/1    S+   00:49   0:00 PROCESS-2
root      2219  0.0  0.0   4200   732 pts/4    S+   00:49   0:00 PROCESS-3
root      2222  0.0  0.0  11748  2144 pts/3    S+   00:50   0:00 grep --color=auto PROCESS

停止したいプロセス ID を確認したら kill します。

# kill 2217

pkill でのプロセス停止

pkill を使えば(プロセス ID が分からなくても)プロセス名だけで該当のプロセスを停止出来ます。プロセスを停止するだけであれば必要無いのですが、pgrep コマンドでプロセスが存在するか、確認することも出来ます。

# pgrep PROCESS
2217
2218
2219

プロセス ID 以外にプロセス名も表示させたい場合は -l オプションを指定します。

# pgrep -l PROCESS
2217 PROCESS-1
2218 PROCESS-2
2219 PROCESS-3

pkill でプロセスを停止します。指定したプロセス名に一致するプロセスを複数同時に停止することが出来ます。

# pkill PROCESS

pgrep でプロセスが存在しないことを確認出来ます。

# pgrep -l PROCESS
#