Perlでプロセスを起動させて待機させておき、
待機中のプロセスを別のプロセスが起こす。
待機プロセス
$SIG{'ALRM'}=sub{};
while(1){
ここに処理;
sleep(3600);
}
別プロセス
kill(14,プロセスID);
こんな感じで$SIG{'ALRM'}使うと簡単。
$SIG{'ALRM'}は何もしないように設定。
sleepはシグナルALARM使って実装されているので、シグナルがくると終了する。
ALARMのシグナル番号は14番。
自分自身のプロセスIDは特殊変数「$$」で確認できる。