Linux 程序的建立 等待與終止

2021-09-24 04:20:43 字數 995 閱讀 7908

使用fork函式來建立程序,它可以從已存在的程序中建立乙個新程序,新程序為子程序,原程序為父程序。

程序呼叫fork,當控制轉移到核心中的fork**後,核心:

程序建立的**:

執行結果:

可以從結果看出新產生了乙個pid為4060的程序,這個程序就是子程序,pid為4059的程序是父程序,在子程序也進入到程序列表後,排程器開始排程父子程序的具體執行。

為什麼要進行程序等待?

程序等待可以使用wait或者waitpid的方法,具體見以下**:

wait(null):阻塞等待任意乙個子程序退出,獲取返回值,並且不關心子程序退出狀態。

執行結果:

可以看出非阻塞等待了3秒鐘之後子程序退出,返回退出碼,並且父程序開始執行。

程序退出場景分為三種:

正常終止:1、從main返回。2、呼叫exit。3、_exit

異常退出:ctrl+c,訊號終止

具體**:

此時是使用exit退出程序,執行結果如下,重新整理緩衝區列印後結束。

使用main函式返回return是同樣的,會先重新整理緩衝區列印後結束,但呼叫_exit則不會重新整理緩衝區,直接丟棄退出。

程序建立,終止,等待

今天我們來說一說程序的建立,終止,等待。1 程序的建立 建立乙個程序我們用到的函式是fork函式,它從已存在的程序中建立乙個新的程序,新程序為子程序,而原程序為父程序。fork函式 include pid t fork void 子程序返回0,父程序返回子程序的id,出錯返回 1。值得注意的是,父程...

程序建立,程序等待,程序終止

1 程序建立,2 程序等待,3 程序終止 程序建立被定義為通過父程序建立子程序的過程。fork函式 函式原型 pid t fork void 特點 1.fork函式呼叫一次,返回兩次兩次返回值得區別分別是子程序當中的返回值為0,父程序當中的返回值為新建子程序的id 將id返回給父程序的原因是沒有函式...

Linux程序控制(建立 等待 終止)

一 linux程序建立 1.1 fork函式 在linux中fork函式是乙個非常重要的函式,它從已存在程序中建立了乙個新程序。新程序為子程序,而原程序為父程序 include pid t fork void 返回值 自程序中返回0,父程序返回子程序id,出錯返回 1 程序呼叫fork,當控制轉移到...