程序建立,終止,等待

2021-08-17 05:39:19 字數 1536 閱讀 2356

今天我們來說一說程序的建立,終止,等待。

1、程序的建立

建立乙個程序我們用到的函式是fork函式,它從已存在的程序中建立乙個新的程序,新程序為子程序,而原程序為父程序。

fork函式

#include pid_t fork(void);
子程序返回0,父程序返回子程序的id,出錯返回-1。

值得注意的是,父程序和子程序共享**,資料是「寫時拷貝」。

fork也有呼叫失敗的時候,fork呼叫失敗的原因:

1、系統中有太多的程序。

2、實際使用者的程序數超過了限制。

下面是利用fork函式實現建立程序的**

執行結果

2、程序的終止

程序退出的情況:

(1)**執行完畢,結果正確。

(2)**執行完畢,結果不正確。

(3)**異常終止。

程序的退出方法:

i 正常終止(可通過 echo$?檢視退出碼)

(1)從main返回

(2)呼叫exit

(3)_exit

ii異常退出

ctrl + c  ,訊號終止。

今天我們來通過呼叫exit來實現程序終止

執行結果

這裡我們使用echo $?檢視了一下,返回碼為0。

3、程序等待

程序等待的必要性:

(1)避免記憶體洩漏。

(2)我們需要知道父程序派給子程序的任務完成的如何。

(3)程序變成殭屍狀態,無法殺死。

(4)父程序通過程序等待的方式,**子程序資源,獲取子程序退出資訊。

程序等待的方法

(1)wait方法

(2)waitpid方法

實現程序等待的**

執行結果

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

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,當控制轉移到...

Linux 程序的建立 等待與終止

使用fork函式來建立程序,它可以從已存在的程序中建立乙個新程序,新程序為子程序,原程序為父程序。程序呼叫fork,當控制轉移到核心中的fork 後,核心 程序建立的 執行結果 可以從結果看出新產生了乙個pid為4060的程序,這個程序就是子程序,pid為4059的程序是父程序,在子程序也進入到程序...