python中fork 的呼叫

2021-10-25 19:22:04 字數 847 閱讀 9554

1、說明

fork() 可以在 python 程式中輕鬆建立子程序,實現多程序。

unix/linux 作業系統(比如常見的 mac 咯)提供了乙個 fork() 系統呼叫,它被呼叫一次,返回兩次,因為作業系統自動把當前程序(稱為父程序)複製了乙份(稱為子程序),然後分別在父程序和子程序內返回。

2、例項

import os

print

("正在執行的程序是 %s ..."

% os.

getpid()

)pid = os.

fork

() # 如果是子程序返回0,而父程序返回子程序的id,有了fork呼叫,乙個程序在接到新任務時就可以複製出乙個子程序來處理新任務,常見的apache伺服器就是由父程序監聽埠,每當有新的http請求時,就fork出子程序來處理新的http請求。

print

("\rpid 是 %s"

%pid)

if pid ==0:

print

("子程序是 %s 和父程序是 %s."

%(os.

getpid()

, os.

getppid()

))else

:print

("在父程序 %s 中建立了子程序 %s."

%(os.

getpid()

, pid)

)

以上就是python中fork()的呼叫,希望對大家有所幫助。

系統呼叫fork

fork的基本內容 fork是依次呼叫兩次返回,分別返回在父程序和子程序中 1 在父程序中,fork返回新建立子程序的程序id 2 在子程序中,fork返回0 3 如果出現錯誤,fork則返回乙個負值 例子 void fork0 else 在這段 中,fork 被執行後將建立與父程序相同的子程序,並...

Linux中fork 系統呼叫函式

什麼是fork 呼叫fork 發生了什麼 子程序建立後,系統會給子程序分配資源,然後把原來的程序的所有值都複製到新的子程序中,只有少數值與原來的程序的值不同 其實就是父程序的乙份副本。但是子程序和父程序駐留在不同的記憶體空間上。這些記憶體空間具有相同的內容,並且乙個程序執行的任何操作都不會影響其他程...

Linux中fork函式的呼叫情況分析

分析以下 輸出結果,已知從這個程式執行到這個程式的所有程序結束這個時間段內,沒有其它新程序執行。1 請說出執行這個程式後,將一共執行幾個程序。2 如果其中乙個程序的輸出結果是 pid1 1001,pid2 1002 寫出其他程序的輸出結果 不考慮程序執行順序 這裡考查的是fork 的呼叫情況,在li...