管道相關函式 1 pipe

2021-09-09 04:46:48 字數 586 閱讀 6328

定義:

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系統都提供此種通訊機制。但是管道有以下兩個侷限性 ...