gpt4 book ai didi

python - 在Python中fork一个进程

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:34 25 4
gpt4 key购买 nike

我已经更新了问题以使其更加清晰我想在后台打印数字时执行函数并检查条件。

import time

number = [1,100]
t0 = time.time()
for i in number:
print i
t1= time.time()


def sum_two_numbers():
t2 = time.time()
c=1+2
t3 =time.time()


verify t0<t2 and t3<<t1

最佳答案

由于两个脚本完全独立,因此只需使用 subprocess.Popen() :

import subprocess

script1 = subprocess.Popen(['/path/to/script1', 'arg1', 'arg2', 'etc'])
script2 = subprocess.Popen(['/path/to/script2', 'arg1', 'arg2', 'etc'])

就是这样,两个脚本都在后台运行1。如果您想等待其中一个完成,请根据需要调用 script1.wait()script2.wait()。示例:

import subprocess

script1 = subprocess.Popen(['sleep', '30'])
script2 = subprocess.Popen(['ls', '-l'])
script1.wait()

您会发现脚本 2 将产生输出并在脚本 1 之前终止。

如果您需要捕获任一子进程的输出,那么您将需要使用管道,然后事情会变得更加复杂。

1 这里的“后台”与在 shell 中运行的后台进程的通常 *nix 概念不同;例如,没有作业控制。 WRT subprocess,只是创建一个新的子进程并加载所请求的可执行文件。不涉及 shell,只要 shell=False 按照默认的 Popen() 选项即可。

关于python - 在Python中fork一个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32353807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com