這篇文章主要介紹使用python中父子進(jìn)程的案例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元駐馬店做網(wǎng)站,已為上家服務(wù),為駐馬店各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792通過pid與變量理解父子進(jìn)程
進(jìn)程ID:系統(tǒng)創(chuàng)建一個進(jìn)程,就會為其分配一個進(jìn)程ID,我們稱為pid
獲取當(dāng)前進(jìn)程與父進(jìn)程pid的方法:
import os os.getpid() #獲取當(dāng)前進(jìn)程的pid os.getppid()#獲取父進(jìn)程的pid
一個例子:通過全局變量,pid相關(guān)信息了解父子進(jìn)程;
import multiprocessing import os #全局變量 g_value = 1 # 定義進(jìn)程函數(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()) #進(jìn)程函數(shù)中修改g_value g_value = 10 #子進(jìn)程中修改g_value后的值 print("sub process g_value:", g_value) #window下,創(chuàng)建并執(zhí)行進(jìn)程,需要加上if __name__ == "__main__": if __name__ == "__main__": #打印出主進(jìn)程PID print("main process pid:", os.getpid()) # 創(chuàng)建進(jìn)程對象,target為要執(zhí)行的進(jìn)程函數(shù) p = multiprocessing.Process(target=func, args=(1,2,3), kwargs={"value":100}) # 啟動進(jìn)程 p.start() # 等待進(jìn)程結(jié)束 p.join() #主進(jìn)程中查看g_value值 print("main process g_value:", g_value)
結(jié)果:
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中父子進(jìn)程的案例分析的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!