• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            _exit和exit的區別

            exit()在結束調用它的進程之前,要進行如下步驟:
            1.cleanup();
            2.在atexit()注冊的函數;
            最后調用_exit()函數。。。

            ‘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()’的使用將更加危險,因為它將影響
            *父*進程的狀態



            _exit終止調用進程,但不關閉文件,不清除輸出緩存,也不調用出口函數。
            exit函數將終止調用進程。在退出程序之前,所有文件關閉,緩沖輸出內容
            將刷新定義,并調用所有已刷新的“出口函數”(由atexit定義)。

            posted on 2007-07-31 23:34 旅途 閱讀(928) 評論(0)  編輯 收藏 引用 所屬分類: Linux開發

            亚洲伊人久久大香线蕉苏妲己| 久久99精品久久久久久水蜜桃 | 亚洲午夜久久久影院| 久久婷婷五月综合97色直播| 97精品国产97久久久久久免费 | 久久精品国产亚洲Aⅴ香蕉| 亚洲精品美女久久久久99小说 | 丁香色欲久久久久久综合网| 久久国产精品99精品国产| 久久精品国产久精国产| 亚洲午夜精品久久久久久浪潮 | 人妻精品久久久久中文字幕69| 激情五月综合综合久久69| 狼狼综合久久久久综合网| 国产呻吟久久久久久久92| 久久久久久亚洲Av无码精品专口| 久久精品无码av| 久久精品国产精品青草app| 久久精品国产亚洲AV无码娇色| 国内精品伊人久久久久妇| 久久99精品国产麻豆不卡| 久久99免费视频| 韩国无遮挡三级久久| 久久久久AV综合网成人| 欧美久久久久久| 欧美亚洲国产精品久久| 久久久久亚洲?V成人无码| 久久国产午夜精品一区二区三区| 久久综合综合久久综合| 久久人妻少妇嫩草AV无码专区| 无码AV波多野结衣久久| 婷婷伊人久久大香线蕉AV| 99久久国产精品免费一区二区| 一本一道久久a久久精品综合| 久久强奷乱码老熟女网站| 久久精品中文字幕一区| 亚洲国产精品无码久久九九| 久久有码中文字幕| 99久久香蕉国产线看观香| 久久人与动人物a级毛片| 中文字幕乱码久久午夜|