pipe建立匿名管道

2021-09-02 22:24:04 字數 668 閱讀 1547

pipe建立的管道為匿名管道,匿名管道只能在有關係的程序之間使用,例如父程序和子程序,由同乙個父程序建立的子程序或稱為兄弟程序

如圖所示若管道只有乙個,並且管道只能程序單向通訊,因此,在子程序繼承父程序的檔案描述符之後,父程序關閉fd[0]檔案描述符,子程序關閉fd[1檔案描述符,這樣父程序和子程序之間就能夠使用管道進行單向的通訊了

#include

#include

#include

//pipe 建立的匿名管道只能在有血緣關係的程序之間進行使用

// 例如 父程序和子程序 同乙個父程序建立的兩個子程序

//管道的建立需要使用兩個檔案描述符,檔案描述符 fd[0] 用於讀取 fd[1]用於pipe的寫入

intmain

(int argc,

char

*argv)

else

close

(pipe_fd[0]

);close

(pipe_fd[1]

);printf

("hello world\n");

return0;

}

linux 匿名管道pipe

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

Linux 匿名管道pipe與命名管道FIFO

什麼是管道 功能 建立匿名管道 引數 fd 檔案描述符陣列,其中fd 0 表 示讀端,fd 1 表 示寫端 返回值 成功返回0,失敗返回錯誤 實現 include include include include int main memset buf,0x00,sizeof buf 從管道中讀取 i...

語言 管道 建立匿名管道

本質 特點 實現方式 侷限性 匿名管道 僅適用於有血緣關係的程序通訊.本功能實現的是 ps axu grep bash 通過呼叫 ps 和 grep命令 然後分別將他們的輸出 和 輸入的檔案描述符改變.從終端改入到管道中.intmain int argc,char ar pid t pid fork...