※ ChatGPTを利用し、要約された質問です(原文:できるだけ多くのシグナルに対応したい)
シグナルに対応したロックファイル削除プログラム
このQ&Aのポイント
ロックファイルを削除して他のプロセスに処理を譲る処理を実装しました。
強制終了シグナルを受け取っても処理が実行されるようにしたいです。
どのシグナルをトラップすればいいのか、特にタイムアウトの対応方法について教えてください。
下記のようなプログラムを組みました。
END { unlink("SE.FULLLOCK"); }
要するにロックファイルを削除して他のプロセスに処理を譲る処理ですが、シグナルを受信して強制終了したときも、これが実行されるようにしたいのです。
強制終了シグナルには STOP ABRT QUIT KILL TERM などといくつかあるようですが、どのシグナルをトラップすればいいのでしょうか。
システム上トラップできないシグナルがあるらしいことは過去の質問で分かりましたが、少なくともプロバイダが発行するタイムアウトには対応しておきたいのです。
何かご存知の方がいらっしゃいましたら、よろしくお願いします。
お礼
ありがとうございます。 実際、レアケースだから難しいですね(^_^; 念のため、おっしゃるとおりにしてみました。 あとはエラーが起きないことを祈るのみ……(笑)