摘要:
通过获取进程编号,您可以知道哪个主进程创建了一个子进程。
1、原因:目的是为了验证主进程和子进程的关系。通过获取进程编号可以得知某个子进程是由哪个主进程创建出来的。
2、获取当前进程编号:os.getpid()
3、获取父进程编号:os.getppid()
4、获取当前进程名字:multiprocessing.current_process()
5、杀死当前指定进程: os.kill(进程ID,9) 第二个参数9表示强制杀死进程
一、获取主进程编号及名字
from multiprocessing importProcess,current_process from time import * importos defsing(): for i in range(3): print('唱歌中....') sleep(0.2) #获取子进程的编号及进程名 print("sing的进程编号为: %s, 名字是: %s" %(os.getpid(),current_process())) print("sing的父进程编号为:%s" %(os.getppid())) defdance(): for i in range(3): print('跳舞中....') sleep(0.2) #获取子进程的编号及进程名 print("dance的进程编号为:%s,名字是:%s" %(os.getpid(),current_process())) print("dance的父进程编号为:%s" %(os.getppid())) #获取主进程的编号及进程名 print("主进程的编号为:%s,名字为:%s" %(os.getpid(),current_process())) #创建子进程 p1 = Process(target=sing) p2 = Process(target=dance) #启动子进程 p1.start() p2.start()
运行效果:
二、强制杀死进程
from multiprocessing importProcess,current_process from time import * importos defsing(): for i in range(3): print('唱歌中....') sleep(0.2) os.kill(os.getpid(),9) #获取子进程的编号及进程名 print("sing的进程编号为: %s, 名字是: %s" %(os.getpid(),current_process())) print("sing的父进程编号为:%s" %(os.getppid())) defdance(): for i in range(3): print('跳舞中....') sleep(0.2) #获取子进程的编号及进程名 print("dance的进程编号为:%s,名字是:%s" %(os.getpid(),current_process())) print("dance的父进程编号为:%s" %(os.getppid())) #获取主进程的编号及进程名 print("主进程的编号为:%s,名字为:%s" %(os.getpid(),current_process())) #创建子进程 p1 = Process(target=sing) p2 = Process(target=dance) #启动子进程 p1.start() p2.start()
运行结果: