私は次のトラップを使用しています:
trap OnExit EXIT
私のOnExit
機能では、起こったことに関するすべての情報をキャプチャしてログファイルに記録したいと思います。誰が、なぜ、どのように、いつなどを知りたいです。
これは可能ですか?
答え1
1. 誰- 他のユーザーがプロセスにシグナルを送信できないため、プロセス所有者ユーザーである可能性が高いです(ルートはまだ可能ですが、ルートがプロセスを殺したかどうかを確認する方法がわかりません)。
2. なぜ- たぶん、次のようになります。
echo "Why did you interrupted the process?" && read why && echo $why > log
(なぜ言われるのかよくわかりません)。
3.どのように- Ctrl + C
BASHはユーザーが押されたときや送信を介して中断した場合でも同じ信号を受信するので、kill
私が知っている限り、中断が正確にどのように起こるかを見つけることは不可能です。
4. いつ- 簡単です。date
次のコマンドを使用してください。
date > log
編集する:「理由」と「方法」で信号の種類を決定することを意味する場合は、以下を参照してください。これStackOverflowのQ&Aです。