首页 > 系统服务 > 详细

获取进程编号

时间:2021-01-19 19:53:26      阅读:47      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!