如何启动并在后台运行外部脚本? [重复](How to launch and run exter

2019-08-31 08:48发布

这个问题已经在这里有一个答案:

  • 如何开始在Python后台进程? 7个回答

我想这两种方法:

os.system("python test.py")

subprocess.Popen("python test.py", shell=True)

这两种方法都需要等到test.py完成该块主要流程。 我知道“nohup的”可以做的工作。 是否有一个Python的方式来启动test.py或任何其他shell脚本,并让它在后台运行?

假设test.py是这样的:

for i in range(0, 1000000):
    print i

直到显示百万线输出的两个使用os.system()或subprocess.Popen()将阻止主程序。 我要的是让test.py默默运行,并只显示主程序输出。 而test.py仍在运行主程序可以quie。

Answer 1:

subprocess.Popen(["python", "test.py"]) 应该工作 。

请注意,当你的主脚本退出作业可能还是死了。 在这种情况下,尝试subprocess.Popen(["nohup", "python", "test.py"])



Answer 2:

os.spawnlp(os.P_NOWAIT, "path_to_test.py", "test.py")


文章来源: How to launch and run external script in background? [duplicate]