程序間控制

2022-09-18 17:54:10 字數 673 閱讀 9714

#include #include pid_t fork(void);
父子程序幾乎所有的資源屬性都是一樣的,都有各自的堆疊區,變數的虛擬位址也是一樣的,檔案描述符也是一樣的,只有程序號,計時器等少量資訊是不同的,因此fork()函式的代價很大。

#include pid_t wait(int *statloc);
#include pid_t waitpid(pid_t pid, int *statloc, int options);
waitpid()wait()的區別:

pid_t pid

options

返回值:

1. 當正常返回的時候,waitpid() 返**集到的已經**子程序的程序號;

2. 如果設定了選項 wnohang,而呼叫中 waitpid() 發現沒有已退出的子程序可等待,則返回 0;

3. 如果呼叫**錯,則返回-1,這時 errno 會被設定成相應的值以指示錯誤所在,如:當 pid 所對應的子程序不存在,或此程序存在,但不是呼叫程序的子程序,waitpid() 就會出錯返回,這時 errno 被設定為 echild;

Linux 程序間關係 終端 作業控制

一 程序間關係 3種 1.程序組 每個程序除了有乙個程序id之外,還屬於乙個程序組。程序組是乙個或多個程序的集合。通常,它們與同一作業相關聯,可以接收來自同一終端的各種訊號。每個程序組都有乙個唯一的程序組id。每個程序組都可以有乙個組長程序。組長程序標識的是,其程序組id等於其程序id 一般,預設每...

Linux程序控制理論及幾種常見程序間通訊機制

1.linux程序控制理論 程序是乙個具有一定獨立功能的程式的一次執行活動 動態性 併發性 獨立性 非同步性 程序的四要素 1 有一段程式供其執行 不一定是乙個程序所專有的 就像一場戲必須有自己的劇本。2 有自己的專用系統堆疊空間 私有財產 3 有程序控制塊 task struct 有身份證,pid...

php程序間通訊 yoc PHP程序間通訊

php是用c編寫的,因此它對系統底層api的操作與c很像,同大多數語言一樣,php程序間通訊的方式有以下幾種 訊息佇列,管道,共享記憶體,socket和訊號。本文是對這幾種通訊方式對整理 管道通訊pipe 管道用於承載簡稱之間的通訊資料。為了方便理解,可以將管道比作檔案,程序a將資料寫到管道p中,然...