linux多程序使用

2021-07-29 08:28:07 字數 749 閱讀 4182

init程序是所有程序的父或者祖父 

程序的組成:

使用者 id cpu時間片 記憶體 狀態 時鐘 優先順序 源程式 fd 。。。。。

程序的狀態:man ps

process state codes

r    執行或可執行  

d  不可中斷睡眠

s   可中斷睡眠

t    掛起 暫停 等待

x  死亡

z   殭屍(已經結束但依然佔據程序樹上節點)

<   高優先順序

n  低優先順序

l   頁記憶體鎖定

s    session leader 建立並管理程序的程序

l    多執行緒程序 

+    前台程序

fg 把後台程序調到前台執行

bg 把前台程序轉到後台執行

建立程序的程序:父程序

被建立的程序:子程序

程序上下文:程序執行到什麼時候了

pid_t 程序id型別 

fork();

1.可以建立乙個程序,並讓子程序和父程序同時執行。

2.子程序複製父程序的**,寫時拷貝。逐字節拷貝。複製程序上下文。

3.父程序的fork函式返回子程序id,而子程序的fork函式返回0.

父子程序例子

#include #include int main()

}else

} return 0;

}

linux多程序程式設計

在linux中,執行的乙個程序,會占去linux的三個地方,區,堆疊區和資料區.如果同時執行多個相同的程式,他們就會使用相同的 區,區中存放的就程式的 但是資料區和堆疊區分別存放的是程式的資料,全域性變數和區域性變數,因此即使是相同的程式,也不可同時使用相同的資料和堆疊區.include inclu...

linux 多程序 缺點

fork有一些 其中最明顯的就是重複的檔案描述符。比如,socket,磁碟上的檔案,終端 標準輸入 輸出,錯誤 或某些其他檔案類物件。因為乙個程序的fork是乙個準確的拷貝,它繼承了父程序的所有檔案描述符和socket,所以就可能遇到這樣乙個情況,那就是父程序和子程序對於乙個單一的遠端主機,都有乙個...

Linux多程序學習

1 fork 一次呼叫兩次返回?include include using namespace std int main else 執行結果 i m parent,ppid is 10037,and pid is 10038 i m child,pid is 10038 press to close...