我有 script1.py,它执行一些计算并发送一些电子邮件,而 script2.py(用于在 Mysql DB 中执行一些更新)处于无限循环中,直到某些事情得到满足。
在 script1 上进行的计算结束时,我需要执行 script2.py 并为此使用 subprocess.Popen(["python", "script2.py"])
现在,在调试时,我看到它进入 script2 内部并且可以工作,但是当 script1 的执行结束时,我看到 script2.py 停止执行。
是否有另一个模块用于执行此类操作,因为它无法正常工作?
编辑:我需要执行 script1.py 才能执行 script2.py,但是当使用 subprocess.Popen() 时,script1 会等待 script2 终止执行。我需要一种方法来执行 script2 并让它运行并终止 script1
最佳答案
script_1.py:
import subprocess
process = subprocess.Popen(["python", "script_2.py"])
print("CONTROLLER TERMINATED")
script_2.py:
import time
for x in range(5):
print("ALIVE")
time.sleep(1)
将 process.wait()
添加到 script_1.py 后:
import subprocess
process = subprocess.Popen(["python", "script_2.py"])
process.wait()
print("CONTROLLER TERMINATED")
关于python - Subprocess.Popen 不运行另一个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55240618/