我有一个使用扭曲框架的python应用程序。
我利用存储在由 twistd 生成的 pidfile 中的值。启动器脚本检查它的存在,如果 pidfile 已经存在,则不会产生守护进程。
但是,twistd 在收到SIGKILL
信号时不会删除 .pid 文件。这使启动器脚本认为守护程序已经在运行。
我意识到停止守护进程的正确方法是使用SIGTERM
信号,但问题是当启动守护进程的用户注销时,守护进程永远不会收到SIGTERM
信号,所以显然它被SIGKILL
. 这意味着一旦用户注销,他将永远无法再次启动守护进程,因为 pidfile 仍然存在。
在这种情况下,有什么办法可以使该文件消失吗?