Linux程序退出

2022-08-09 08:27:15 字數 591 閱讀 8945

在linux下,程序退出就表示程序即將結束了(為什麼是即將,這是因為linux設計的是父程序給子程序收屍)。正常退出包括3種情形。

main函式中執行return 0;

呼叫exit函式,函式原型:void exit(int status);

呼叫_exit函式,函式原型:void exit(int status);

return只能結束函式,當他結束main函式的時候才是程序退出;exit函式用於正常結束程序。並把引數status返回給父程序,並且程序中所有緩衝區資料會自動寫回並關閉未關閉的檔案;_exit函式立即結束程序並返回核心,它不會更新緩衝區。

exit和_exit最大的區別在於,exit會重新整理緩衝,這點很重要,因為linux有「緩衝i/o」,這種技術是當緩衝區中的資料滿足一定的條件後,才會寫入檔案中。因此為了保證資料不會丟失,請使用exit函式。

exit是在_exit的基礎上封裝的庫函式,而_exit是系統呼叫。他們的引數為0的時候,表示程序正常結束,若為其他值表示執行過程中有錯誤發生。也就是程序異常結束。程序異常結束時有兩種情形。

呼叫abort函式

程序收到了某個訊號,而該訊號使程式終止。

Linux程序 程序的退出

linux程序 程序的退出 2011 12 27 20 44 56 分類 linux void exit int status 注意點 1.status表明了程序終止時的狀態。當子程序使用 exit 後,父程序如果在用wait 等待子程序,那麼wait 將會返回status狀態,注意只有status...

LINUX監視程序退出

arm linux開發 warewin 2g 3g無線傳輸 dtu 和路由器 筆記 監視別的程序的程序,改自busybox的 procps pidof。1 為解決 兩個程序退出導致 web伺服器不能訪問 pppd 不撥號上線,開啟 conpid 程序定期來檢測這兩個程序是否執行。2 該程序編譯到 b...

Linux程序退出碼

include int main void 編譯好,然後執行,然後在shell裡面檢視程序退出碼,鍵入 echo 我們發現拿到的程序退出碼是255。我們返回的明明是 1,為什麼拿到的卻是255呢?還得從程序的狀態碼開始講起,我們知道,當乙個程序退出的時候,父程序一般都會進行收尾工作,就是呼叫wait...