6.exit _exit _Exit
進(jìn)程的終止有8種方式,5種正常終止和3中異常終止
5種正常終止:
1:從 main 執(zhí)行return返回。
2:調(diào)用 exit(int x), 程序返回碼是x,調(diào)用各種中止處理程序,關(guān)閉或沖洗緩沖區(qū)。 ?
3:調(diào)用 _exit(int) 或 _Exit(int),提供一種無(wú)須調(diào)用各種中止處理程序就能進(jìn)行終止的方法。
4:最后一個(gè)線程從其啟動(dòng)例程返回。
5:最后一個(gè)線程調(diào)用pthread_exit。
異常終止有3種:
6:調(diào)用 abort。產(chǎn)生SIGABRT信號(hào)。
7:接到一個(gè)信號(hào)并終止。信號(hào)可以由進(jìn)程自身(調(diào)用abort函數(shù))、其他進(jìn)程或內(nèi)核產(chǎn)生。
8:最后一個(gè)線程對(duì)取消請(qǐng)求做出響應(yīng)(一個(gè)線程要求取消另外一個(gè)進(jìn)程)。
atexit用來(lái)登記終止處理程序,exit調(diào)用終止處理程序的順序和它們登記時(shí)候的順序相反。
內(nèi)核使程序執(zhí)行的唯一的方式是調(diào)用exec函數(shù)。
進(jìn)程可以自愿的終止(調(diào)用exit/_exit/Exit),也可以非自愿的由一個(gè)信號(hào)終止。
總結(jié)
以上是生活随笔為你收集整理的6.exit _exit _Exit的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 5.fork和vfork
- 下一篇: 7.wait和waitpid