Perl開発者のためのLinux入門

プロセスの存在確認を行う方法 kill -0

 プロセスの存在を確認するためにはkillコマンドを使ってオプションに0を指定します。killに0オプションを指定する場合はプロセスは終了したりはしませんので安心してください。

kill -0 プロセス番号

 プロセスが存在するとコマンドが成功し何も出力しません。コマンドが失敗するとそのようなプロセスはないというメッセージがかえってきます。

 これは$?を調べることで確認できます。成功した場合は0で、失敗した場合は1になります。

 以下がサンプルのスクリプトです。

kill -0 16033 > /dev/null 2>&1

if [ $? = 0 ]; then
  echo "exists";
else
  echo "not exists"
fi