import time from multiprocessing import Process import os def func(args,args2): #传递参数到进程 print(args,args2) time.sleep(1) print('子进程:', os.getpid()) print('子进程的父进程:', os.getppid()) #查看当前进程父进程的进程号 print(12345) if __name__ == '__main__': #Windows操作系统必须声明这一句 p = Process(target=func, args=(54321,'参数')) #func无需加括号,相对于内存地址, 函数注册到进程对象中,这是一个主进程 #p是一个进程对象,还没有启动 #args是func传递进来的参数,如果传一个参数后面必须加一个逗号,参数是一个元组 p.start()#开启了一个子进程,操作系统创建新进程,进入就绪状态,要等待时间片允许的时候才执行代码 print('*'*10)#会先打印10个*,这和上面的子进程是异步执行的 print('父进程:', os.getpid()) #查看当前进程的进程号 print('父进程的父进程:', os.getppid()) #查看当前进程父进程的进程号
>>>>>>>>>>>
**********
父进程: 13036
父进程的父进程: 8188
54321 参数
子进程: 6652
子进程的父进程: 13036
12345