linux - shell在重启和非正常关机时是否收到term信号

标签 linux shell

您好,我需要在系统正常或异常关机时做一些处理,

请澄清我的以下疑惑

  1. shell 在正常和异常期间是否接收到 term 信号 关闭。
  2. 我可以捕获并查看该信号吗,使用 trap 命令 shell ?
  3. 如果是这样,我应该在哪个文件中寻找这个信号?

最佳答案

如前所述,在灾难性故障(内核 panic 或断电)中,不应期望将信号发送到进程以提供有序关闭。如果系统可以提供此功能,它将在特定系统的shutdownpoweroff 或类似命令中记录。例如,这个 Linux shutdown手册页说 SIGTERM 首先发送,并暗示 SIGKILL 稍后发送。当然,事情可能没有那么有序。

这些提供了关于该主题的额外讨论:

至于哪个文件应该 try catch SIGTERM,这实际上取决于应用程序。信号将发送到所有 进程,您不能假设或依赖信号到达的任何特定顺序。 SIGKILL 无法捕获;当它到来时,再做任何事情都为时已晚。

关于linux - shell在重启和非正常关机时是否收到term信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717034/

相关文章:

bash - 防止在 heredocs 中计算反引号中的表达式

python 3.5 - 脚本终止后 subprocess.run 仍在运行

linux - 转换列模式

c++ - 如何找到 "my"lib目录?

c++ - 从信号处理程序打印堆栈跟踪

linux - 使用 Calico 开源混合操作系统 Linux 和 windows 上的 Kubernetes

linux - Bash while if 函数

linux - 链接错误 : DSO missing from command line

linux - 如何在没有 sudo 的情况下运行命令?

bash - Shell 脚本和 CRON 问题