python:当父母去世时,孩子死了

时间:2017-04-05 21:42:09

标签: python python-2.7 nohup

我希望我的python作业启动另一个进程并退出,同时让孩子继续运行。

当我使用

启动子进程时
Popen([sys.executable,"foo","bar"])

(作为recommended而不是spawn),当父级退出时,孩子会死亡(上述Popen是父母最后做的事情。)

当然,这可以使用nohup补救:

with open("/dev/null","w") as fd:
    Popen(["nohup",sys.executable,"foo","bar"],stdout=fd)

(我必须将输出重定向到/dev/null以阻止nohup 创建文件nohup.out并在stdout上宣布该不当行为。

有没有更优雅的 / pythonic方式来解决这个问题?

我也尝试os.fork + signal.signal(signal.SIGHUP,signal.SIG_IGN),当父母退出时,孩子仍然死亡。

0 个答案:

没有答案