Linux學習筆記 管道PIPE

2022-08-01 21:09:13 字數 634 閱讀 2482

管道:當從乙個程序連線資料流到另乙個程序時,使用術語管道(pipe)。

# include

int pipe(int filedes[2]); //建立管道

pipe()說明:

返回值:0成功,-1出錯。

如果呼叫成功,則程序此時由了兩個額外的開啟檔案描述符,filedes[0]中的值是管道的讀取端,而filedes[1]是管道的寫入端。

#include

#include

#include

#include

#include

int main()

if((pid=fork())==0)

close(pipe_fd[0]);

exit(0);

}else if(pid>0)

}管道讀寫注意事項:

1.必須在系統呼叫fork()中呼叫pipe(),否則子程序將不會繼承檔案描述符;

2.當使用半雙工管道時,任何關聯的程序都必須共享乙個相關的祖先程序。

擴充套件參考:

命名管道fifo——linux筆記

訊號——linux學習筆記

守護程序——linux學習筆記

共享記憶體——linux學習筆記

Linux學習筆記 管道PIPE

管道 當從乙個程序連線資料流到另乙個程序時,使用術語管道 pipe include int pipe int filedes 2 建立管道 pipe 說明 返回值 0成功,1出錯。如果呼叫成功,則程序此時由了兩個額外的開啟檔案描述符,filedes 0 中的值是管道的讀取端,而filedes 1 是...

linux管道通訊(pipe)

linux pipe適合於父子程序之間進行通訊。如下面 所示 include include include int main create sub process pid fork if 1 pid else if 0 pid else return 0 當呼叫fork函式後,fork將會返回兩個...

linux 匿名管道pipe

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