1. 程式人生 > 實用技巧 >獲取程序編號

獲取程序編號

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

執行結果: