【问题标题】:How to avoid process termination when parent process terminates in python当父进程在python中终止时如何避免进程终止
【发布时间】:2014-06-22 19:27:06
【问题描述】:

我有一个在 linux 上运行的 python 守护程序。我正在实现以这种方式工作的自动更新功能:

  1. 检测到新版本时,应用会使用 subprocess.call 调用更新程序脚本。
  2. 子进程(实际上是更新脚本)停止守护进程
  3. 由于守护程序已停止,更新程序脚本也会终止:/

所以我的问题是如何以不依赖于父进程的方式启动更新程序脚本。换句话说,我不希望父进程终止导致子进程终止。

环境:Linux mint 16

Python 3.3

谢谢

【问题讨论】:

标签: python linux daemon execution


【解决方案1】:

你可以按照以下方式做一些事情:

from subprocess import Popen

updater = ['/usr/bin/python', '{PATH TO}/updater_script.py', '&']
Popen(updater)

更新程序不会受到守护进程关闭的影响。

【讨论】:

  • 谢谢,但没用。父进程停止时子进程终止:(
  • 我已经更新了我对可能有用的东西的回答......它看起来有点老套,但可能值得一试。
  • 我也试过了。它也没有帮助。我发现的唯一方法是守护子进程。对于一个简单的任务来说,这有点开销,但它确实有效。还是谢谢
  • 我很高兴你找到了解决方案,奇怪的是我发布的方法在测试程序中起作用......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
相关资源
最近更新 更多