啟動子程序為什麼要先 fork 父程序?

時間 2021-05-07 19:57:48

1樓:遊薪渝

可參考《現代作業系統》第三版第49頁

在UNIX中,分兩步即先fork再execve,是為了在fork與execve之間時,子程序能夠處理其檔案描述符,以完成對標準輸入,標準輸出以及標準出錯的重定向。

Windows中,則相反,呼叫Win32函式CreateProcess即可。

2樓:iswar fate

這種方法只是linux系統所使用的方法,另一種作業系統完全可以用其他的方法來實現建立程序。所謂程序只是人為發明出來的概念,為了能描述客觀存在於自然界中的併發現象。只不過你用了linux系統,你就只能按照它給你的方法用了

3樓:朱翀

額,linux下程序的建立是這樣的,現在的linux中fork會啟用寫時拷貝,所以消耗很小,至於為什麼不直接exec,陳碩老師已經回答了…………,至於linux(unix)下為什麼要用fork來建立子程序,我想可能是因為unix這類的作業系統有很多的資源如檔案描述符等需要在父子程序中傳遞,以實現相互通訊等功能吧,水平有限,希望更專業的人來回答

為什麼linux是0 fork出1號程序再fork出shell而不是0程序直接fork出shell?

J.FW 這裡只要知道一般情況下pid 1的用處就清楚了,man init systemd is a system and service manager for Linux operating systems.When run as first process on boot as PID 1 i...

為什麼富國要先修路?

玉鋒 因為區域經濟發展協調的客觀現狀決定了群體需要不斷吸收和交流區域內先進思想,先進文化,先進技術,來服務和改善本群體商品流通效率和質量。最主要可以凝聚共識,增強龍的傳人的凝聚力,合作共贏,有福同享,有難同當。 森羅永珍 經濟的核心就是貨物流轉,而流轉就得依賴運輸,運輸的前提就得先有路,所以要致富就...

為什麼戒菸要先不吸菸?

狐狸 戒菸而不克制吸菸?那要怎麼戒菸?菸癮本身就是尼古丁成癮,所以戒菸第一步當然是克制吸菸衝動,掐斷尼古丁攝入渠道啊。至於你說的越克制越想的問題 首先,戒除生理菸癮很快,大概一到二周。所以並不需要克制多久。其次,心癮難戒那就是心理層次的問題了,加強心裡建設,抹除生活習慣而已。 殘夜吞茶 意志力是有消...