获取进程编号

摘要:
通过获取进程编号,您可以知道哪个主进程创建了一个子进程。

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

运行效果:

获取进程编号第1张

二、强制杀死进程

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

运行结果:

获取进程编号第2张

免责声明:文章转载自《获取进程编号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MATLAB的一些使用的快捷键整理centos vsftpd下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

AddTransient、AddSingleton、AddScoped的区别

AddTransient、AddSingleton、AddScoped的区别  权重: AddSingleton→AddTransient→AddScoped AddSingleton的生命周期: 项目启动-项目关闭   相当于静态类  只会有一个   AddScoped的生命周期: 请求开始-请求结束  在这次请求中获取的对象都是同一个  AddTra...

Javassist实现动态代理

介绍 Javassist 也是一个字节码框架,和其他字节码框架不同的是,它提供了两种层级的API,源层级和字节码层级,源层级不需要对字节码规则了解太多就可以操作。Hibernate的懒加载就使用到了Javassist。官网 使用Javassist提供的动态代理接口实现 maven依赖 <dependency> <groupId>...