您好,我需要在系统正常或异常关机时做一些处理,
请澄清我的以下疑惑
- shell 在正常和异常期间是否接收到 term 信号 关闭。
- 我可以捕获并查看该信号吗,使用 trap 命令 shell ?
- 如果是这样,我应该在哪个文件中寻找这个信号?
最佳答案
如前所述,在灾难性故障(内核 panic 或断电)中,不应期望将信号发送到进程以提供有序关闭。如果系统可以提供此功能,它将在特定系统的shutdown
、poweroff
或类似命令中记录。例如,这个 Linux shutdown
手册页说 SIGTERM
首先发送,并暗示 SIGKILL
稍后发送。当然,事情可能没有那么有序。
这些提供了关于该主题的额外讨论:
- In what order should I send signals to gracefully shutdown processes?
- How to detect pending system shutdown on Linux?
至于哪个文件应该 try catch SIGTERM
,这实际上取决于应用程序。信号将发送到所有 进程,您不能假设或依赖信号到达的任何特定顺序。 SIGKILL
无法捕获;当它到来时,再做任何事情都为时已晚。
关于linux - shell在重启和非正常关机时是否收到term信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717034/