Perl で Web サーバの内部監視をする

Web サーバ監視の運用

上記スクリプトをcron等で定期的に実行すれば、定期的なプロセス監視ができます。
シグナル送信のパーミッションをテストしているので、そのプロセスを止めたり稼動させたりできるユーザで実行する必要があります(通常 root)。

上記ではスクリプト中でpidファイルを指定していますが、
コメントしてある行のように

$pidfile = shift;

と指定すれば、以下のように実行時の引数としてpidファイル名を指定することができます。

perl scriptname.pl pidfilename.pid

この場合、複数のプロセス監視に一つのスクリプトを共用できますが、出力するメッセージにプロセス名を区別するような文字列を加えることが必要です。

参考書

「プログラミングPerl〈VOLUME1〉」(オライリー・ジャパン)
ラリー ウォール他 (著), 近藤 嘉雪 (翻訳)

「プログラミングPerl〈VOLUME2〉」(オライリー・ジャパン)
ラリー ウォール他 (著), 近藤 嘉雪 (翻訳)