fork
fork()是os模块里面的系统函数,只适用于linux/unix系统,作用是程序运行到os.fork()命令时会产生一个新的进程(子进程),子进程程序和父进程完全相同。同时fork()函数会有一个返回值,这个返回值代表的是子进程的id,在父进程中这个值是大于零的,在子进程中一定等于零。
import os
ret = os.fork()
print(ret)
if ret>0:
print("---父进程--%d-"%os.getpid())
else:
print("---子进程---%d--父进程--%d-"%(os.getpid(),os.getppid()))
其中,os.getpid()是获取当前进程号,os.getppid()是子进程获取父进程的id。下面是运行结果:
这里的PID就是上边说的id
multiprocessing
fork()只能用在linux/unix中,那如果是windows呢?multiprocessing模块里面提供了一个Process类,需要将进程的定义执行语句放在if name=="main"中。
from multiprocessing import Process
import time
#if __name__ == '__main__':
def test():