溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python中父子進程的案例分析

發(fā)布時間:2020-11-19 09:19:38 來源:億速云 閱讀:262 作者:小新 欄目:編程語言

這篇文章主要介紹使用python中父子進程的案例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

通過pid與變量理解父子進程

進程ID:系統(tǒng)創(chuàng)建一個進程,就會為其分配一個進程ID,我們稱為pid

獲取當前進程與父進程pid的方法:

import os
os.getpid() #獲取當前進程的pid
os.getppid()#獲取父進程的pid

一個例子:通過全局變量,pid相關信息了解父子進程;

import multiprocessing
import os
#全局變量
g_value = 1
 
# 定義進程函數(shù)
def func(*args, **kwargs):
    #聲明全局變量
    global g_value
    #打印參數(shù)
    print(f'arg:{args}, kwargs:{kwargs}')
    print("sub process pid:", os.getpid())
    print("sub process ppid:", os.getppid())
    #進程函數(shù)中修改g_value
    g_value = 10
    #子進程中修改g_value后的值
    print("sub process g_value:", g_value)
    
#window下,創(chuàng)建并執(zhí)行進程,需要加上if __name__ == "__main__":
if __name__ == "__main__":
    #打印出主進程PID
    print("main process pid:", os.getpid())
    # 創(chuàng)建進程對象,target為要執(zhí)行的進程函數(shù)
    p = multiprocessing.Process(target=func, args=(1,2,3), kwargs={"value":100})
    # 啟動進程
    p.start()
    # 等待進程結束
    p.join()
    #主進程中查看g_value值
print("main process g_value:", g_value)

結果:

main process pid: 2344
arg:(1, 2, 3), kwargs:{'value': 100}
sub process pid: 1660
sub process ppid: 2344
sub process g_value: 10
main process g_value: 1

以上是使用python中父子進程的案例分析的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI