如何在 Python 中执行非阻塞命令并使其在脚本结束后继续运行?

如何在 python 中执行非阻塞命令并使其在脚本结束后继续运行?

使用 python 在新进程中执行命令

在某些情况下,您可能需要从 python 脚本中执行外部命令,并且希望这些命令在脚本结束后继续运行。以下是如何在 python 中在一个新进程中执行非阻塞命令:

要同时执行多个命令,可以使用 subprocess.popen 函数。此函数允许您指定要执行的命令、使用的参数以及是否将输出重定向到文件。

以下 python 代码演示了如何使用 subprocess.popen 在新进程中执行三个命令:

import subprocess

# 命令列表
commands = ['./A -a 1', './B -a 2', './C -a 3']

# 逐个执行命令
for command in commands:
    # 创建子进程
    process = subprocess.Popen(command, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

    # 确保脚本结束后进程仍会继续运行
    process.detach()

这段代码将分别执行三个 a、b 和 c 命令,并将它们的输出重定向到 /dev/null 设备。由于 process.detach() 调用,即使 python 脚本结束后,这些进程也会继续运行。

以上就是如何在 Python 中执行非阻塞命令并使其在脚本结束后继续运行?的详细内容,更多请关注其它相关文章!