管道:當從乙個程序連線資料流到另乙個程序時,使用術語管道(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...