获取过程编号的目标:
为了验证主过程和子过程的关系,可知子线程是由哪个主过程创立进去的。
Python获取过程编号id:
#获取以后过程的编号os.getpid()#获取父过程的编号os.getppid()
实现步骤:
1.导入os包
import os
2.获取过程编号、父过程编号
os.getpid()os.getppid()
3.获取过程名
print(multiprocessing.current_process())
代码实现:
import multiprocessingimport time#导入os包import osdef dance(): #获取dance的过程编号 print('dance:',os.getpid()) #获取dance父过程的编号 print("dance父过程:", os.getppid()) #获取以后过程 查看是由那个过程执行的 print('dance:',multiprocessing.current_process()) for i in range(5): print("dance") time.sleep(2)def sing(): #获取sing过程编号 print('sing:',os.getpid()) #获取sing父过程的编号 print("sing父过程:", os.getppid()) #获取以后过程 查看是由那个过程执行的 print('sing:',multiprocessing.current_process()) for i in range(5): print("sing") time.sleep(2)if __name__ == '__main__': #获取以后过程(主过程)编号 print('main:',os.getpid()) #获取以后过程 查看是由那个过程执行的 print('main:',multiprocessing.current_process()) dance_process = multiprocessing.Process(target=dance,name='dance_process') print(dance_process) sing_process = multiprocessing.Process(target=sing,name='sing_process') print(sing_process) dance_process.start() sing_process.start()
通过运行下面的代码,咱们能够发现:
main的过程编号=sing的父过程编号=dance的父过程编号
这样子咱们得出dance_process和sing_process是由main建设的子过程。