获取进程编号

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()
View Code

运行效果:

二、强制杀死进程

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()
View Code

运行结果:

原文地址:https://www.cnblogs.com/yujiemeigui/p/14298277.html