gpt4 book ai didi

python - 守护程序 PID 锁定错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:25 27 4
gpt4 key购买 nike

系统启动后,我的脚本从 crontab 作为守护进程启动。它工作了一段时间并暂停/挂起而没有响应。之后我不能像 sudo python script.py restart 那样运行它,因为它说:文件“/usr/lib/pymodules/python2.7/daemon/runner.py”,第 149 行,在 _stop
“PID 文件 %(pidfile_path)r 未锁定”% vars())
daemon.runner.DaemonRunnerStopFailureError:PID 文件“/home/pi/testdaemon.pid”未锁定

在脚本的init中有:

def __init__(self):
self.stdin_path = '/dev/null'
self.stdout_path = '/dev/null'
self.stderr_path = '/dev/null'
self.pidfile_path = '/home/pi/testdaemon.pid'
self.pidfile_timeout = 5

任何解决这个问题的想法都会很棒!

编辑:

看来我找到了我的问题。当它停止时我无法重新启动守护程序,因为整个机制首先想要停止我的守护程序,但它不能,因为它已经停止了。然后我发现我的脚本中存在一个问题,导致整个运行仅几秒钟就崩溃了。无论如何,谢谢你的每一个答案!

最佳答案

我不知道为什么您的脚本挂起——但显然它的进程仍然存在,所以清理工作永远不会发生。您可以通过检查 /home/pi/testdaemon.pid 来强制清理,验证它包含的进程 ID 确实仍在运行,终止该进程(如果需要,使用 -9),并且,为了完整起见,删除了 /home/pi/testdaemon.pid

在那之后,您应该能够重新运行您的脚本。然而,核心问题是,为什么您的脚本“无响应地挂起”——而您只是没有向我们提供任何信息来帮助您调试那个问题(也许一个单独的问题更合适)...这些只是您可以采取的“紧急步骤”,让您再次运行脚本,但当然它们不会评估或修复问题的根本原因!

关于python - 守护程序 PID 锁定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28932994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com