raf*_*lak 5 python linux twisted sigkill
我有一个使用扭曲框架的python应用程序。
我利用了扭曲产生的pidfile中存储的值。启动脚本会检查它是否存在,如果pidfile已经存在,则不会生成守护进程。
但是,twist不会在收到SIGKILL
信号时删除.pid文件。这使启动器脚本认为守护程序已在运行。
我意识到停止守护程序的正确方法是使用SIGTERM
信号,但是问题是启动守护程序的用户注销后,守护程序永远不会收到SIGTERM
信号,因此显然被杀死了SIGKILL
。这意味着一旦用户注销,他将永远无法再次启动守护程序,因为pidfile仍然存在。
在这种情况下,有什么办法可以使该文件消失?
从signal(2)
手册页:
这些信号
SIGKILL
不能SIGSTOP
被捕获或忽略。
因此,该进程无法运行任何清理代码来响应该信号。通常,您仅用于SIGKILL
终止不响应而退出的进程SIGTERM
(可以捕获)。
归档时间: |
|
查看次数: |
496 次 |
最近记录: |