如何使子进程在服务关闭后继续存在?

script1.py:


#do somthing

os.system('nohup python3 -u script2.py {} {} >> {}.out &'.format(xxx, yyy, zzz))

#do somthing

script2.py:这个脚本总是与loop.run_forever()


当 script1 作为服务运行时,此脚本可以正确运行 script2。但如果我用“kill pid”命令杀死 Script1,Script2 也会被自动杀死,这是我不希望的,我希望 Script2 继续工作。


编辑:我用于systemd跑步script1.py


慕勒3428872
浏览 79回答 1
1回答

慕运维8079593

如果您希望启动的子进程不被 systemd 杀死,请更改KillMode服务的配置。因此,在您的服务文件中:[Service] KillMode=process默认值是KillMode=control-group,这样 systemd 就会杀死它为服务创建的 cgroup 中的所有内容;并且nohup对cgroups一无所知。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python