系統程式設計 程序 fork深度理解 vfork簡介

2022-03-13 16:41:07 字數 717 閱讀 8945

1. fork基本使用

#include #include 

intmain()

else

if(pid > 0

)else

printf(

"getpid=%d \n

", getpid());

sleep(1);

return0;

}

執行:

基本說明:

fork的返回值,在父程序中返回的是子程序的程序id, 在子程序中返回的是0。

補充說明:

使用fork建立子程序後, 子程序和父程序哪個先執行是由系統的程序排程模組進行排程執行的,不能硬說一定是哪個先被執行。

而針對本次執行,我們可以看到是父程序先一路把printf("getpid=%d \n", getpid()) 這句**也執行掉了,進入sleep。然後才輪到子程序開始執行。

2.  對fork子程序時的重要理解

我的關聯博文:

3. vfork很少使用,簡單介紹

vfork建立子程序,子程序先執行,且不複製父程序的記憶體空間。

我的關聯博文:

.

系統程式設計 程序 當檔案操作遇上fork

我的關聯博文 test1 lseek基本使用 include include include include include include char string buf hello char char h h int main 父子程序的檔案描述符 檔案表項 i節點,以lseek fork實驗為...

系統程式設計概述(程序)

程序概念 所有的裝置都是圍繞儲存器工作的 標準輸入裝置輸入指令,載入到記憶體中,然後記憶體交給cpu處理指令,將處理好的指令再交給記憶體,內存在交給標準輸出裝置。時載入到cpu的暫存器上處理 什麼是程序 說的通俗一點就是進行中的程式 作業系統通過pcb來控制程序的執行,這個pcb 一種程序描述符 也...

系統程式設計之程序

一 程序相關概述 1 相關指令 ps aux 檢視所有程序 ps aux grep 程序 只會過濾出指定程序資訊 top 指令類似windows任務管理器 2 程序描述符 pid pid 0 稱為交換程序 程序排程 pid 1 init程序 系統初始化 二 c程式的儲存空間是如何分配的 從高位址到低...