如何在脚本中获取终止信号/消息/原因?

如何在脚本中获取终止信号/消息/原因?

我正在使用以下陷阱:

trap OnExit EXIT

在我的OnExit函数中,我想捕获有关所发生事件的所有信息,以便我可以将其写入日志文件。我想知道谁、为什么、如何、何时等等。

这有可能吗?

答案1

1. 谁- 由于另一个用户无法向您的进程发送信号,因此它很可能是进程所有者用户(root 用户仍然可以,但我不知道如何确定 root 是否杀死您的进程)。

2. 为什么- 也许是这样的:

echo "Why did you interrupted the process?" && read why && echo $why > log

(我不确定你的意思是为什么)。

3.如何- 由于如果用户按下Ctrl + C或通过 发送中断,BASH 会收到相同的信号kill,据我所知,不可能查明中断到底是如何发生的。

4. 当- 这很简单,使用date命令:

date > log

编辑:如果您的意思是确定“为什么”和“如何”下的信号类型,请参阅StackOverflow 上的问答。

相关内容