linux 中注意事項

來源:互聯網
上載者:User

(1)exit()與_exit()區別: _exit()直接使進程停止運行,清除器使用的記憶體空間,銷毀其在核心中的各種資料結構。

   exit()函數在調用exit系統調用之前要檢查檔案的開啟情況,把檔案緩衝區中的內容寫迴文件,清理I/O緩衝(推薦使用這個函數)

(2)waitpid

      #include <sys/types.h>

      #include <sys/wait.h>

       pid_t  waitpid( pid_t pid, int *status,  int options );

       其中:pid取值不同,意義不同:

        pid > 0時, 只等待進程ID=pid的子進程,不管其他已經有多少子進程運行結束推出了,只要指定的子進程還沒有結束,waitpid就會一直等下去;

        pid = -1時, 等待任何一個子進程退出,沒有任何限制,此時waitpid 和wait的作用一摸一樣;

        pid = 0 時, 等待同一進程組中的任何子進程,如果子進程已經加入了別的進程組,waitpid不會對它做任何理睬;

        pid < -1時, 等待一個指定進程組中的任何子進程,這個進程組的ID等於pid的絕對值

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.