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