【发布时间】:2012-10-29 16:07:19
【问题描述】:
我有一个使用 twisted 框架的 python 应用程序。
我利用了twistd 生成的pidfile 中存储的值。启动器脚本会检查它是否存在,如果 pidfile 已经存在,则不会生成守护进程。
但是,twistd 在收到SIGKILL 信号时不会删除 .pid 文件。这使得启动器脚本认为守护程序已经在运行。
我意识到停止守护进程的正确方法是使用SIGTERM 信号,但问题是当启动守护进程的用户注销时,守护进程永远不会收到SIGTERM 信号,所以显然它被杀死了SIGKILL。这意味着一旦用户注销,他将永远无法再次启动守护进程,因为 pidfile 仍然存在。
在这种情况下,我有什么办法可以让那个文件消失吗?
【问题讨论】:
标签: python linux twisted sigkill