首先,對於程序間的通訊,訊號,管道和共享記憶體,訊號適用於及其微量的資訊,管道是程序間通訊的大動脈,共享記憶體是用於大型的軟體。
管道式單向的,先進先出,我們先講無名管道,其中管道程式設計api是pipe,api的功能是建立乙個無名管道,成功則為陣列分配兩個檔案描述符
#include
#include
#include
#define bufsize 1024
int main(void)
if ((pid = fork()) < 0) //建立子程序
else if (pid == 0)
if (n < 0)
close(fd[0]);
printf("exit child\n");
exit(0);
}close(fd[0]); //關閉不使用管道讀埠
while((n=read(stdin_fileno, buf, bufsize)) >0)
write(fd[1], buf, n);
if (n < 0)
close(fd[1]);
pr
程序間通訊 管道
include int pipe int fd 2 返回值 若成功,返回0,若出錯,返回 1經由引數fd返回兩個檔案描述符 fd 0 為讀而開啟,fd 1 為寫而開啟。fd 1 的輸出是fd 0 的輸入。else if pid 0 子程序 else else if pid 0 父程序 printf ...
程序間通訊 管道
原文 程序間通訊 管道 管道簡介 常說的管道都是匿名半雙工管道,匿名半雙工管道在系統中是沒有實名的,並不可以在檔案系統中以任何方式看到該管道。它只是程序的一種資源,會隨著程序的結束而被系統清除。管道通訊是在unix系統中應用比較頻繁的一種方式,例如使用grep查詢 ls grep ipc 顧名思義,...
程序間通訊 管道
程序間通訊,又稱為ipc,包含以下型別 半雙工管道fifo 全雙工管道 訊息佇列 訊號 訊號量共享記憶體 套接字socket streams。一,管道是unix系統ipc的最古老形式,他具有兩種侷限性 1 資料只能在乙個方向上流動 2 只能在具有公共祖先的程序之間使用。乙個管道由乙個程序建立,然後該...