程序間的通訊 管道

2021-06-27 06:25:01 字數 570 閱讀 5763

首先,對於程序間的通訊,訊號,管道和共享記憶體,訊號適用於及其微量的資訊,管道是程序間通訊的大動脈,共享記憶體是用於大型的軟體。

管道式單向的,先進先出,我們先講無名管道,其中管道程式設計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 只能在具有公共祖先的程序之間使用。乙個管道由乙個程序建立,然後該...