定義:
int pipe(int filedes[2]);
表頭檔案:
#include
說明:
pipe()會建立管道, 並將檔案描述詞由引數filedes陣列返回。filedes[0]為管道裡的讀取端, filedes[1]則為管道的寫入端。
返回值:
若成功則返回零, 否則返回-1, 錯誤原因存於errno中。
mkfifo, popen, read, write, fork
錯誤**:
emfile 程序已用完檔案描述詞最大量。
enfile 系統已無檔案描述詞可用。
efault 引數filedes陣列位址不合法。
示例:
#include #include#define maxline 80
int main(void
)
if ((pid = fork()) < 0
)
if (pid > 0)
else
return0;
}
執行結果:
程序間通訊(1) 管道pipe
學習linux的知識中,有乙個特別重要的概念叫 程序 而要進行程序間通訊時,有乙個特別重要的概念就是 管道,今天,我們就來學習一下什麼是管道,它能又幹什麼呢?一 概念 管道 把乙個程序連線到另外乙個程序的乙個資料流稱為管道。其實,我們聯絡現實生活,自來水管可以將我們使用者和供水站連線起來,通過管道運...
1 程序間通訊 PIPE(無名管道)
1 在子程序中寫入資料,在父程序中讀取資料 code 結果 now,write data to the pipe the data i wrote is jason s messag now read data from pipe the data from pipe is jason s mess...
程序間的通訊方式 pipe(1 管道)
程序通訊就是兩個程序之間進行資料交換,在linux中有好幾種可以進行程序通訊的方式,在這篇文章中我們主要介紹最基本的程序通訊方式 pipe管道。程序之間交換資訊的唯一途徑就是傳送開啟的檔案。管道是一種最古老也是最基本的系統ipc形式,所有的linux系統都提供此種通訊機制。但是管道有以下兩個侷限性 ...