pkillで文字列マッチしない場合の対処
小粋空間 » Linux » pkillで文字列マッチしない場合の対処
pkillで文字列マッチしない場合の対処方法を紹介します。
1.問題点
下記のようにフルパス指定でtest.shを実行しました。
$ /home/foo/test.sh
psコマンドで見るとフルパスで実行されています。
$ ps -ef | grep test.sh
foo 59476 57186 0 13:43 pts/52 00:00:00 /bin/bash /home/foo/test.sh
pkillコマンドで、このtest.shをフルパスで指定したのですが、プロセスが終了しません。
$ pkill /home/foo/test.sh
ということで、pkillで文字列マッチしない場合の対処方法を紹介します。
2.pkillで文字列マッチしない場合
pkillで指定する文字列パターンは「プロセス名」なので、パスは含みません。
よって、下記の記述であればプロセスは正常に終了します。
$ pkill test.sh
パスを含ませたい場合は、"-f"オプションを追加します。
$ pkill -f /home/foo/test.sh
"-f"は、コマンドライン全体をパターンマッチの対象とするオプションです。
これでパスを含んだプロセスを終了させることができます。