linux c之創建進程fork和vfork函數之間的區別
1、函數簡介
1)、得到當前的進程id
pid_t getpid();
2)、fork函數
要創建進程,必須調用fork函數, 系統調用fork用于派生一個進程,函數原型如下
#include
#include
pid_t fork(void)
若成功,父進程中返回子進程id,子進程返回0;若出錯則返回-1,若出錯返回0,要注意這是2次返回,由于在復制時復制了父進程的堆棧段,所以兩個進程都停留在fork函數中,等待 返回。因此fork函數會返回兩次,一次是在父進程中返回,另一次是在子進程中返回,這兩次的返回值是不一樣的,fork后就復制拉了一個進程,原來進程叫父進程,子進程是父進程的一個拷貝,子進程得到數據段和堆棧段的拷貝,父和子進程數據不共享。
3 )、vfork函數
#include
#include
pid_t vfork(void)
Linux 任務調度
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。