【发布时间】:2016-07-01 06:12:21
【问题描述】:
环境:
我有一个 python 服务器,它分成 3 个孩子。
对于父母:
- SIGTERM 应该杀死所有孩子,而 SIGHUP 应该记录并存在
对于孩子:
- SIGTERM 和 SIGHUP 都映射到 SIG_DFL
问题:
当我通过命令行 python <script.py> 启动脚本并将 SIGHUP 发送给父 kill -1 <pid-of-parent> 时,它表现良好。父进程退出,忙碌的子进程只有在完成 I/O 后才会退出。
但是如果使用 systemd 脚本启动相同的脚本,当我向父级发送 SIGHUP 时,仍然忙碌的子级会收到一个 SIGTERM 并导致 I/O 中断。
对此有任何解释/解决方案吗?是不是配置错误?
【问题讨论】:
标签: python signals systemd sigterm