pgrep, pkillでプロセスをkillする
特定のプロセスをkillするときは、いつも以下のようなコマンドを使っていました。
# ps -ef | grep java | grep -v grep root 12927 1 2 15:51 pts/0 00:00:05 java -Xmx64m -jar start.jar # kill 12927
もっといい方法はないのかと思っていたら、pgrep
やpkill
という方法があるのを知りました。
pgrep
は、プロセス名で絞り込んだPIDを表示させることができます。
# pgrep java 12927
-l
オプションの場合、コマンドが表示されます。
# pgrep -l java 12927 java
ただ、複数のプロセスがある場合は、区別がつきません。
この場合は、-f
オプションにより詳細が表示されます。
# pgrep -lf java 12927 java -Xmx64m -jar start.jar
同様に、プロセスをkill
する場合もpkill
により、いちいちPID
を調べる必要がなくなります。
オプションも同様で、-f
オプションによりプロセスの引数も含めて指定することができます。
# pkill -f "java.*start\.jar"
これは便利。