1、原因:目的是为了验证主进程和子进程的关系。通过获取进程编号可以得知某个子进程是由哪个主进程创建出来的。
2、获取当前进程编号:os.getpid()
3、获取父进程编号:os.getppid()
4、获取当前进程名字:multiprocessing.current_process()
5、杀死当前指定进程: os.kill(进程ID,9) 第二个参数9表示强制杀死进程
一、获取主进程编号及名字
from multiprocessing import Process,current_process from time import * import os def sing(): for i in range(3): print('唱歌中....') sleep(0.2) # 获取子进程的编号及进程名 print("sing的进程编号为: %s, 名字是: %s" % (os.getpid(),current_process())) print("sing的父进程编号为:%s" % (os.getppid())) def dance(): 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 import Process,current_process from time import * import os def sing(): 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())) def dance(): 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()
运行结果: