分為正常退出,異常退出
正常退出的方法:
1、在main函數中執行return
2、調用exit函數
3、調用_exit 函數
------------------------------------------------------------------
異常退出的方法:
1、調用abort函數
2、進程收到某個信號,而該信號使進程終止
------------------------------------------------------------------
不管是哪種退出方式,最終都會執行內核中的同一段代碼。這段代碼用來關閉進程所有已打開的文件描述符。
釋放它所占用的內存和其他資源。
各種退出方式的比較:
1、exit和return的比較,exit是一個函數,有參數。而return是函數執行完畢后的返回。exit把控制權交給系統,而return將控制權交給調用函數。
2、exit和abort的區別,exit是正常終止進程,而abort是異常終止。
3、exit中的參數 如果為0代表進程正常終止,如果為其他值表示程序執行過程中有錯誤發生,比如除數為0
4、exit和_exit的區別,exit在頭文件stdlib中聲明,而_exit聲明在頭文件unistd.h中,兩個函數均能正常終止進程。但是
-exit函數執行后會立即返回給內核。而exit函數要先執行一些清除操作,然后將控制權交給內核。
----------------------------------------------------------------------