日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

_exit()函数与exit()函数的区别

發布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 _exit()函数与exit()函数的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

exit()在結束調用它的進程之前,要進行如下步驟:

1.cleanup(); 2.在atexit()注冊的函數; ‘exit()’與‘_exit()’有不少區別在使用‘fork()’,特別是‘vfork()’時變得很?突出。? ‘exit()’與‘_exit()’的基本區別在于前一個調用實施與調用庫里用戶狀態結構?(user-mode constructs)有關的清除工作(clean-up),而且調用用戶自定義的清除程序?(譯者注:自定義清除程序由atexit函數定義,可定義多次,并以倒序執行),相對?應,后一個函數只為進程實施內核清除工作。? 在由‘fork()’創建的子進程分支里,正常情況下使用‘exit()’是不正確的,這是?因為使用它會導致標準輸入輸出(譯者注:stdio: Standard Input Output)的緩沖區被?清空兩次,而且臨時文件被出乎意料的刪除(譯者注:臨時文件由tmpfile函數創建?在系統臨時目錄下,文件名由系統隨機生成)。在C++程序中情況會更糟,因為靜?態目標(static objects)的析構函數(destructors)可以被錯誤地執行。(還有一些特殊情?況,比如守護程序,它們的*父進程*需要調用‘_exit()’而不是子進程;適用于絕?大多數情況的基本規則是,‘exit()’在每一次進入‘main’函數后只調用一次。)? 在由‘vfork()’創建的子進程分支里,‘exit()’的使用將更加危險,因為它將影響? *父*進程的狀態

本文轉自 驛落黃昏 51CTO博客,原文鏈接:http://blog.51cto.com/yiluohuanghun/1184855,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的_exit()函数与exit()函数的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。