Linux 匿名管道

2021-09-09 05:49:15 字數 785 閱讀 2322

管道這裡還有幾組概念:

匿名管道

概念:匿名管道:匿名管道用於程序之間通訊,且僅限於本地父子程序之間通訊

建立方式:

int pipe(int fd[2]);
fd:檔案描述符陣列,其中fd[0] 表示讀端,fd[1]表示寫端

返回值:成功返回0,失敗返回錯誤**

5大特點:

4種情況:

例項:從鍵盤讀取資料,寫入管道,再讀取管道,寫到螢幕

具體**如下:

#include #include #include #include int main()

//read from stdin

while(fgets(buf,100,stdin))

memset(buf,0,sizeof(buf));

//read from pipe

if(len=read(fd[0],buf,100)==-1)

//write to stdout

if(write(1,buf,len)!=len)

}return 0

linux管道通訊之匿名管道

管道檔案的大小始終是為0,更多的時候,它只是起乙個標識作用,標識核心中的那塊快取區。就會出現所謂的匿名管道 比如父子程序之間的通訊 使用pipe建立匿名管道,看不到pipe檔案。pipe int fds 2 fds 0 讀,fds 1 寫 返回2個檔案描述符,乙個讀檔案描述符,乙個寫檔案描述符。匿名...

linux 匿名管道pipe

管道是一種最基本的ipc機制,由pipe函式建立 include int pipe int filedes 2 呼叫pipe函式時在核心中開闢一塊緩衝區 稱為管道 用於通訊,它有乙個讀端乙個寫端,然後通 過filedes引數傳出給使用者程式兩個檔案描述符,filedes 0 指向管道的讀端,file...

linux中匿名管道和命名管道

1 建立管道和父子程序,子程序關閉讀端,父程序關閉寫端,子程序寫,父程序讀。2 如果所有指向管道寫端的檔案描述符都關閉了 管道寫端的引用計數等於0 而仍然有程序 從管道的讀端讀資料,那麼管道中剩餘的資料都被讀取後,再次read會返回0,就像讀到檔案末尾一樣。3 如果有指向管道寫端的檔案描述符沒關閉 ...