python程序之fork建立子程序

2021-09-26 07:12:35 字數 577 閱讀 7232

程式執⾏到os.fork()時,作業系統會建立⼀個新的程序(⼦程序),然後複製⽗程序的所有資訊到⼦程序中 然後⽗程序和⼦程序都會從fork()函式中得到⼀個返回值,在⼦程序中這 個值⼀定是0,⽽⽗程序中是⼦程序的   id號

在unix/linux作業系統中,提供了⼀個fork()系統函式,它⾮常特殊。

普通的函式調⽤,調⽤⼀次,返回⼀次,但是fork()調⽤⼀次,返回兩次,因 為作業系統⾃動把當前程序(稱為⽗程序)複製了⼀份(稱為⼦程序),然 後,分別在⽗程序和⼦程序內返回。

⼦程序永遠返回0,⽽⽗程序返回⼦程序的id。

這樣做的理由是,⼀個⽗程序可以fork出很多⼦程序,所以,⽗程序要記下 每個⼦程序的id,⽽⼦程序只需要調⽤getppid()就可以拿到⽗程序的id

#fork

自動建立子程序

ret=os.fork()

if ret==0:

while true:

print("11111")

time.sleep(1)

else:

while true:

print("2222")

time.sleep(1)

fork程序建立

fork建立子程序,fork函式返回兩個值,當為0時,則認為是子程序 塊執行區域,而不為0則是父程序 塊執行區域。我們需要知道的是,fork子程序可以與父程序共享部分程序上下文,而與此不同的是execl函式,一旦開始執行到execl函式時,啟動被呼叫的函式,後面的 則不再執行,而是直接執行呼叫的程式...

fork建立程序

1.程序的建立 fork 函式是建立子程序的函式,在主函式中呼叫fork會產生乙個子程序 列印出來的結果是 if語句是條件語句但卻兩個都列印了,兩個條件都滿足,也就是說兩個都執行,但卻不是一條執行流,那麼可以得出肯定還有乙個程序在列印另乙個。都記得fork 之後有兩個程序,乙個父程序,乙個子程序,父...

建立程序 fork函式

最近,我在linux中學到了乙個神奇的函式,名為fork 函式,它的作用是建立程序。它的神奇之處在於呼叫fork 函式時,系統會建立乙個與原來程序幾乎完全相同的程序,大致的意思就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事 就相當於是轉殖了乙個自己。先來看...