gpt4 book ai didi

Python - 如何在退出程序(在分离 screen 上运行)之前启动子进程?

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:02 28 4
gpt4 key购买 nike

出于某种原因,我想在退出当前脚本之前启动一个脚本。我找到了一种简单的方法:

脚本1.py:

#**
#some code
#**
p=subprocess.Popen(["python", "script2.py"])

有了这个,如果我运行 script1,它将在退出前最后启动 script2。

但是,如果我在 screen (screen python script1.py)中运行 script1, screen 将在 script2 甚至有机会启动之前终止。

此外,由于 script2 很长,我不想等它结束后再退出 script1。有办法吗?也许通过在另一个 screen 上启动 script2?如果可以,我该怎么做?

最佳答案

您可以创建第二个脚本,然后等待它完成

p=subprocess.Popen(["python", "script2.py"])
p.wait()

或者更优雅地,您可以使用 os.execv,它将用新的解释器替换您的 python 解释器(PID 将保持不变,您将保留控制台)。

os.execv("/usr/bin/python", ["/usr/bin/python", "script2.py"])

关于Python - 如何在退出程序(在分离 screen 上运行)之前启动子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25263862/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com