我有一个运行在linux上的python守护进程。我正在实现一个自动更新功能,它可以这样工作:如何避免父进程终止在Python中的进程终止
- 当检测到新版本时,应用程序使用subprocess.call调用更新器脚本。由于守护程序停止
- 子进程(这在现实中是更新脚本)停止了守护
- ,更新脚本也终止:/
所以我的问题是我怎么能在某种程度上推出更新脚本它不会依赖于父进程。换句话说,我不希望父进程终止导致子进程终止。
环境:Linux Mint的16
的Python 3.3
感谢
我有一个运行在linux上的python守护进程。我正在实现一个自动更新功能,它可以这样工作:如何避免父进程终止在Python中的进程终止
所以我的问题是我怎么能在某种程度上推出更新脚本它不会依赖于父进程。换句话说,我不希望父进程终止导致子进程终止。
环境:Linux Mint的16
的Python 3.3
感谢
你可以做线沿线的东西:
from subprocess import Popen
updater = ['/usr/bin/python', '{PATH TO}/updater_script.py', '&']
Popen(updater)
的更新将不会受到后台程序的影响收盘。
谢谢,但它没有奏效。父进程停止时子进程终止:( – Davita
我已经更新了我的答案,可能有效......它看起来有点冒险,但它可能值得一试 – cchristelis
我也试过了,它也没有帮助。我发现的唯一方法是将子进程守护进程。这对于一个简单的任务来说有点花销,但它可以工作。无论如何感谢 – Davita
看看http://stackoverflow.com/questions/473620/how-do-you-create-a-daemon-in-python和https://pypi.python.org/pypi/daemonize/。 –