【问题标题】:Handling a linux system shutdown operation "gracefully"“优雅地”处理 linux 系统关闭操作
【发布时间】:2015-07-30 19:01:11
【问题描述】:
我正在开发一个在 linux 环境中作为守护进程运行的 python 脚本。如果并且当我需要对设备发出关机/重启操作时,我想进行一些清理并将数据记录到文件中,以便在关机期间将其保留。
我查看了有关 Linux 关机的信息,但找不到任何详细说明在关机/重启时发送给应用程序的信号(如果有的话)。我假设 sigterm 但我的测试(不是很好的测试)似乎不同意这一点。
【问题讨论】:
标签:
python
linux
signals
shutdown
【解决方案1】:
当 Linux 关闭时,(这稍微取决于您使用的是哪种初始化脚本)它首先向所有进程发送 SIGTERM 以关闭它们,然后我相信会尝试 SIGKILL 强制它们关闭如果他们没有响应 SIGTERM。
但是请注意,您的脚本可能不会收到 SIGTERM - init 可能会将此信号发送到它正在运行的 shell,并且它可能会在没有实际将信号传递给您的脚本的情况下杀死 python。
希望这会有所帮助!