Subprocess.Popen没有运行另一个脚本

时间:2019-03-19 12:02:56

标签: python subprocess popen

我有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

1 个答案:

答案 0 :(得分:1)

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)

enter image description here

process.wait()添加到script_1.py后:

import subprocess
process = subprocess.Popen(["python", "script_2.py"])
process.wait()
print("CONTROLLER TERMINATED")

enter image description here