【Linux】程式終止方式--exit的呼叫過程!!!
在linux裡面的程式終止的方法有8種。
五種正常終止:
- 從main函式返回
- 呼叫exit函式
- 呼叫_exit或者_Exit
- 最後一個執行緒從啟動例項返回
- 從最後一個執行緒呼叫pthread_exit
三種議程終止:
- 呼叫abort函式
- 接收到一個終止訊號
最後一個執行緒對取消請求做出響應
exit的呼叫過程
函式原型:void exit(int status);
在呼叫一個函式結束程式的時候,_exit()或者_Exit()會立即進入核心,而exit函式則會先執行一些清理處理,然後返回核心。
關於程式:
一個已經終止、但是其父程式尚未對其進行善後處理(獲取終止子程式的有關資訊、釋放它仍佔用的資源)的程式被稱為僵死程式,也就是處於TASK_ZOMIBE狀態的程式。
TASK_ZOMIBE狀態是程式結束前過渡狀態(僵死狀態),在一個程式呼叫了exit()之後,該程式並不會立刻完全消失,而是留下一個稱為殭屍程式(Zombie)的資料結構 。
殭屍程式是一種非常特殊的程式,它已經釋放了幾乎所有的記憶體空間,沒有任何可執行程式碼,也不能被排程,僅僅在程式列表中保留一個位置,記載該程式的退出狀態等資訊供其他程式收集,除此之外,殭屍程式不再佔有任何記憶體空間。
相關文章
- oracle 如何終止儲存過程的執行Oracle儲存過程
- 儲存過程語法與Java程式的呼叫方式儲存過程Java
- Linux 下使用 killall 命令終止程式Linux
- 終止指定埠的程式
- 在開發過程中終止一個專案的想法
- jQuery的each終止或跳過示例程式碼jQuery
- Linux——程式建立、程式終止、程式等待、程式程式替換Linux
- Windows 程式的建立和終止Windows
- linux呼叫儲存過程Linux儲存過程
- Linux 下使用 killall 命令終止程式的 8 大用法Linux
- linux下查詢程式及終止程式操作的相關命令Linux
- Linux之ps查詢程式用kill終止命令Linux
- Linux系統呼叫過程分析Linux
- 終止程式的工具 kill 、killall、pkill、xkill
- Springboot呼叫Oracle儲存過程的幾種方式Spring BootOracle儲存過程
- linux下啟動和終止JAVA程式shell指令碼LinuxJava指令碼
- 終端下以後臺模式執行Linux程式的過程詳解模式Linux
- JDBC 呼叫儲存過程程式碼示例JDBC儲存過程
- Linux系統程式設計之程式控制(程式建立、終止、等待及替換)Linux程式設計
- 程式控制:程式的建立、終止、阻塞、喚醒和切換
- 15,javase程式碼實戰-迴圈控制——迴圈的終止與過濾(六)Java
- 呼叫儲存過程儲存過程
- Linux中EOF自定義終止符介紹Linux
- Linux 下用ps查詢程式並用kill終止命令詳解Linux
- 終止imp/exp和expdp/impdp程式執行的方法
- subprocess.Popen 如何提前終止程式執行
- Gentoo Linux CD 方式全程安裝過程(轉)Linux
- vb呼叫儲存過程的方法儲存過程
- Sqlsugar呼叫Oracle的儲存過程SqlSugarOracle儲存過程
- Winform呼叫儲存過程ORM儲存過程
- perl呼叫儲存過程儲存過程
- jdbc呼叫儲存過程JDBC儲存過程
- PHP實現守護程式的啟動和終止操作PHP
- Linux的啟動過程及init程式Linux
- Go的優雅終止姿勢Go
- 問題:執行緒的終止執行緒
- 併發程式設計——如何終止執行緒程式設計執行緒
- APUE 7-3 終止處理程式例項