無名管道的通訊

2021-07-29 12:43:28 字數 726 閱讀 7373

通過使用管道實現兩個或多個程序之間的通訊。所謂管道,就是將乙個程序的標準輸出與另乙個程序的標準輸入聯絡在一起,進行通訊的一種方法。同組程序之間可用無名管道任意通訊,而不同組程序之間可通古共有名管道進行通訊。

使用無名管道pipe(),進行父子程序之間的通訊。

分析:父程序首先使用pipe(chanl)系統呼叫開啟乙個無名管道,之後建立乙個子程序。子程序複製父程序的開啟檔案表。為了正確通訊,父程序關閉讀通道close(chanl[0]),子程序關閉寫信道close(chanl[1]).父程序向管道寫,子程序從管道讀。完成一次通訊後,父子程序分別關閉自己的讀/寫信道,管道檔案消失。

ps:使用無名管道進行通訊時,是使用臨時檔案的方式實現程序之間的批量資料傳輸。若通訊雙方不是父子關係,不能直接建立通訊聯絡,而要有建立他們的共同的父程序為他們建立管道。在通過複製父程序映像使兩者之間建立聯絡

無名管道通訊程式設計

通訊目的 資料傳輸 資源共享 通知事件 程序控制 程序間通訊ipc interprocess communication 由以下幾部分發展而來 1.unix程序間通訊 2.基於system v程序間通訊 3.posix程序間通訊 posix portable operating system int...

程序通訊 無名管道

管道是單向的 先進先出的,它把乙個程序的輸出和另乙個程序的輸入連線在一起。管道包括無名管道和有名管道兩種,前者用於父程序和子程序間的通訊,後者可用於執行於同一系統中的任意兩個程序間的通訊。乙個程序 寫程序 在管道的尾部寫入資料,另乙個程序 讀程序 從管道的頭部讀出資料。管道提供了簡單的流控制機制,程...

無名管道(pipe)通訊

這個程式用無名管道實現命令 cat etc passwd grep root 其實在終端命令中 就是乙個管道 cat etc passwd會把結果列印到標準輸出 grep root 會把結果從標準輸入 實現流程 1.父程序生產兩個子程序 程序扇的概念 2.子程序a a 把標準輸出定位到管道寫端,因為...