右往左往ブログ

日々よりみち

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

もっといい方法はないのかと思っていたら、pgreppkillという方法があるのを知りました。
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"

これは便利。