| 方式區別 | return | exit | _exit/_EXIT | 
|---|---|---|---|
| 是否刷新標準IO緩存 | 是 | 是 | 否 | 
| 是否調用終止函數 | 是 | 是 | 否 | 
其實可以這樣進行理解一下,就是在標準庫函數中的退出其實就是在系統調用的基礎之上,加上了一層緩存機制,而事實上也確實是這樣。所有的標準庫函調用其實都是在系統調用的基礎上再次封裝形成的
下面通過一個代碼的形式演示一下:
#include<unistd.h>#include<fcntl.h>#include<stdlib.h>#include<stdio.h>#include<string.h>void term_fun1(void){ 這里的testCode是可以直接進行run的,有興趣的可以拿過去簡單跑一下,就會發現其中哪一個函數可以刷緩存,哪一個不能刷緩存,在這里就不多做解釋了關于這些命令還是簡單演示一下吧:      使用ps命令      
使用ps -ef | more命令

使用ps -aux| more命令
  從上面幾張圖中其實可以看到很大的差別,就是ps -aux | more顯示出來的信息相對更加全面一點
進程的幾種狀態主要包括了:
進程創建進程就緒進程運行進程阻塞(等待)進程結束
簡單通過一張圖來展示一下其相互關系:
 
從上面的圖示中我們可以看到整個狀態之間的轉換圖,分成了創建,就緒,運行,阻塞,以及退出這幾種狀態,而如果真正的細分進程的狀態的話,其可以劃分成更多的類型狀態。在這里就不去細說了。有興趣的童鞋可以查查。
謝謝大家的觀看。這已經是第二遍了。手賤,之前寫的被刪掉了,結果找不回來了。這些都是關于進程的一些簡單了解和介紹。在后面會更深入的了解怎么創建進程,進程調度策略等。
謝謝觀看。
歡迎持續訪問博客
新聞熱點
疑難解答