まくまくPerlノート
あるプロセス ID のプロセスがまだ生きているかを確認する (kill)
2008-04-15

特定のプロセス ID に対して kill でシグナルを送ろうとしたときに、そのプロセスがすでに存在しない場合は kill は偽 (false) の値を返します。 これを利用して、特定のプロセスが存在するかどうかを調べることができます。

unless (kill 0, $pid) {
    # プロセス ID が $pid のプロセスはもう存在しない
}

シグナル番号 0 は特定のプロセスにシグナルを送れるかどうか調べるために用意されています。

2008-04-15