程序的建立 待待 終止

2021-08-21 07:27:30 字數 2279 閱讀 8671

什麼是程序?

linux下程序的控制

程序建立

程序等待

程序終止

程序的建立就是父程序建立子程序的過程

fork()函式

init fork(void)

特點:

1.分配程序識別符號

2.建立pcb

3.複製父程序的環境

4.給子程序分配記憶體空間,將父程序的資料拷貝到該程序

5.將子程序置成就緒狀態,放入就緒佇列。

從fock的返回值開始執行,執行兩份(1份子程序1份父程序)

返回值 是pid_t pid=fock();(繼承中段、繼承優先順序、不繼承ppid,pid)

5 14 else if(pid >0) //父程序

此時我們發現fork之後程式是父子交替在執行

殭屍程序和孤兒程序

孤兒程序:父程序死亡後,子程序成為孤兒程序,程序號就寫成1

殭屍程序:如果子程序先死亡,父程序沒有去用wait收他,子程序成為殭屍程序

getpid();(獲得乙個程序的pid,就是int型)

getppid();(獲得乙個父程序的程序pid,就是int型)

假如我們上面不slepp(1),父程序執行完直接退出,會出現什麼結果呢?

可以看到子程序裡面pid=1,成為了孤兒程序

wait函式

函式原型:pid_t wait(int *s)

作用: wait是阻塞函式,直到有子程序死亡(不是再有殭屍程序)

程序終止分為5中其中包括正常終止和不正常終止

正常終止:

1.main 退出

2.exit();0~255

執行退出處理程式

清空快取

_exit:系統退出程式(無重新整理快取的功能)

atexit

atexit//註冊退出程式

只有在退出之前才執行

不正常終止:

1.ctrl+c

2.about()

3.kill pid

Linux 程序建立 程序終止

程序終止 fork 在linux中fork函式時非常重要的函式,它從已存在程序中建立乙個新程序。新程序為子程序,而原程序為父程序。include pid t fork void 返回值 自程序中返回0,父程序返回子程序id,出錯返回 1子程序複製父程序的pcb,因此複製了父程序的程式計數器,所以和父...

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

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

程序建立,終止,等待

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