在python中分叉进程

在python中分叉进程,python,Python,我已经更新了问题,使之更加清楚 我想在后台打印数字时执行函数并检查条件 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 导入时间 数字=[1100

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

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
导入时间
数字=[1100]
t0=时间。时间()
就我而言,数字如下:
打印i
t1=时间。时间()
def sum_两个数字()
t2=时间。时间()
c=1+2
t3=时间。时间()

验证t0由于两个脚本完全独立,只需使用:

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

import subprocess

script1 = subprocess.Popen(['sleep', '30'])
script2 = subprocess.Popen(['ls', '-l'])
script1.wait()
您将发现脚本2将生成其输出并在脚本1之前终止

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


1这里的“后台”不同于通常的*nix概念,即后台进程在shell中运行;例如,没有作业控制。WRT
subprocess
,只需创建一个新的子进程并加载请求的可执行文件。如果按照默认的
Popen()
选项
shell=False,则不涉及shell?你试过什么?你找了什么?你试过在Python标准库文档中查找线程吗?我不知道Python子进程和线程,我不知道哪种方法可以解决这个问题。在我尝试使用它们之前,我也是这样。尝试使用线程。查看示例,搜索示例。。。这都是学习的一部分。@AbhishekSharma-Barny是对的。两者都需要。执行脚本和线程以同时执行操作的子进程。对于线程-。对于子进程-感谢指针。嗨,mhawke,两个脚本彼此独立,我想在后台运行脚本1,并在脚本1已经运行时执行脚本2。好的。你应该用这些有点重要的信息更新你的问题。@AbhishekSharma:答案根据你的评论更新。
import subprocess

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