日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

對python中的os.getpid()和os.fork()函數詳解

系統 2152 0

如下所示:

            
import os
import sys
import time
 
processNmae = 'parent'
 
print "Program executing ntpid:%d,processNmae:%s"%(os.gitpid(),processNmae)
 
#attempt to fork child process
try:
  forkPid = os.fork()
except OSError:
  sys.exit("Unable to create new process.")
 
# Am I parent process?
if forkPid != 0:
  print "Parent executingn"+"tpid:%d,forkPid:%d,processNmae:%s"%(os.getpid(), forkPID,processName)
 
# Am I child process?
elif forkPID == 0:
    processName = "child"
    print "Child executingn" + "tpid: %d, forkPID: %d, processName: %s" % (os.getpid(), forkPID,processName)
            
print "Process finishingntpid: %d, processName: %s" % (os.getpid(), processName)

程序每次執行時,操作系統就會創建一個新的進程來運行程序指令。進程還可以調用os.fork,要求操作系統新建一個進程。

“父進程”是調用os.fork的進程。父進程所創建的任何進程都是子進程。

每個進程都有一個不重復的“進程ID號”,或稱“pid”,它對進程進程進行標識。

進程調用fork函數時,操作系統會新建一個子進程,它本質上與父進程完全相同。子

進程從父進程繼承了多個值的拷貝,比如全局變量和環境變量。兩個進程唯一的區別就是fork的返回值。

child(子)進程接收返回值為0,而父進程接收子進程的pid作為返回值。調用fork函數后,兩個進程并發執行同一個程序,

首先執行的是調用了fork之后的下一行代碼。父進程和子進程既并發執行,又相互獨立;也就是說,它們是“異步執行”的。

            
import os 
pid=os.fork() #fork反復拷貝 
if pid==0: 
  print("A",os.getpid(),os.getppid()) 
else: 
  print("B",os.getpid(),os.getppid()) 
 
# os.getpid()獲取當前進程id   os.getppid()獲取父進程id 
          

以上這篇對python中的os.getpid()和os.fork()函數詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 绍兴市| 汤阴县| 桃园市| 会泽县| 井冈山市| 思茅市| 香河县| 新建县| 长垣县| 西乌珠穆沁旗| 青海省| 石家庄市| 恭城| 咸宁市| 灵寿县| 陆良县| 霍林郭勒市| 新疆| 合阳县| 县级市| 玉田县| 蕲春县| 安化县| 二手房| 顺昌县| 铜川市| 清河县| 甘肃省| 盐山县| 灵石县| 福海县| 南昌市| 达尔| 西乌珠穆沁旗| 三台县| 东山县| 清苑县| 双柏县| 卓尼县| 安陆市| 丰镇市|