【问题标题】:Python Daemon diesPython 守护进程死了
【发布时间】:2017-02-18 19:22:10
【问题描述】:

我用这些 liblinktosite 创建了一个守护进程 我通过 ssh 连接并使用 python myDaemon.py start 启动该过程。

我在守护程序方法中使用循环来完成我的任务。但是一旦我注销,守护程序就会停止(死亡)。

这是因为我将 PID 文件保存在我的用户而不是根文件夹中吗?

任何人的想法。我可以交付代码,但现在需要创建线程。(+3h)

【问题讨论】:

  • 您是否传递了detach 选项?如果你这样做 nohup python myDaemon.py start& 会有所不同吗(不应该,但如果这样做,那么问题就在那里)。
  • 您确定主机原则上允许后台进程在注销后运行吗?某些系统配置为在交互式会话结束后终止所有进程。 (尝试运行,例如nohup cat &,注销,重新登录并检查cat是否仍然出现在ps中。)
  • 无论是 nohop 还是没有进程都不会用 ps 显示。 /e & 是干什么用的?
  • @Offset screentmux 会话是否在注销后仍然存在?
  • 抱歉,我从未听说过这些选项。而是使用或测试它们。

标签: python linux daemon


【解决方案1】:

python 脚本中使用 shebang 行。使用命令使其可执行。 chmod +x test.py 即使您关闭终端,也不要挂断以在后台运行程序。

nohup /path/to/test.py &

不要忘记使用& 将其置于后台。

要再次查看该过程,请在终端中使用,

ps ax | grep test.py

Answer

Another way would be actually make it an upstart script

【讨论】:

  • 行为仍然相同。进程是可见的,但在注销后 -> 登录它就消失了
猜你喜欢
  • 1970-01-01
  • 2013-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 1970-01-01
相关资源
最近更新 更多