python - Subprocess.Popen 不运行另一个脚本

标签 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

最佳答案

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

关于python - Subprocess.Popen 不运行另一个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55240618/

相关文章:

python - 数据流中的值错误 : Invalid GCS location: None

python - Python,Powershell和Popen

Python - Pxssh - 尝试登录远程服务器时出现密码拒绝错误

python - 确定 Pandas 列数据类型

python - 尝试通过 Subprocess 发送命令以使用 ffmpeg

python - 使用子进程在管道输出上调用 sed 结果不一致

python - 使用 subprocess.Popen 时将大量数据通过管道传输到标准输入

Python subprocess.Popen + ffmpeg 中断终端输入

python - 使用管道运行外部程序并在 python 中传递参数

python - 为什么 from `from itertools import chain` 有效但 `import itertools.chain as chain` 无效?