【问题标题】:Subprocess.Popen not running another scriptSubprocess.Popen 没有运行另一个脚本
【发布时间】:2019-03-19 12:02:55
【问题描述】:

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

【问题讨论】:

标签: python subprocess popen


【解决方案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)

在script_1.py中加入process.wait()后:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多