更多資料:我的目錄
要求:①用pipe產生乙個無名管道之後,再產生兩個子程序a,b
②子程序a往管道寫了一句hello後就退出了
③子程序b讀到a寫入的資料,再往管道中寫入hello world
④父程序讀取最後管道中的資料並列印
#include
#include
#include
#include
#include
#include
intmain()
pid_t a =
fork()
;//建立第乙個子程序a
if(a >0)
//父程序
if(b ==0)
//子程序b
exit(0
);}}
else
if(a ==0)
//子程序a
pid_t otherid=
waitpid
(a,&status,0)
;//阻塞等待a
close
(fd1[0]
);close
(fd1[1]
);}
程序通訊 無名管道
管道是單向的 先進先出的,它把乙個程序的輸出和另乙個程序的輸入連線在一起。管道包括無名管道和有名管道兩種,前者用於父程序和子程序間的通訊,後者可用於執行於同一系統中的任意兩個程序間的通訊。乙個程序 寫程序 在管道的尾部寫入資料,另乙個程序 讀程序 從管道的頭部讀出資料。管道提供了簡單的流控制機制,程...
linux程序通訊 無名管道
linux無名管道通訊特點無名管道是半雙工的通訊方式,資料只能一方傳送,另一方接收。無名管道只適用於親緣關係的程序通訊。資料的讀出和寫入 乙個程序向管道中寫的內容被管道另一端的程序讀出。寫入的內容每次都新增在管道緩衝區的末尾,並且每次都是從緩衝區的頭部讀出資料。include include inc...
程序間通訊 無名管道
在上次的部落格中,我給大家介紹了程序間通訊的方式 有名管道。管道分為有名管道和無名管道,那麼此次我將給大家介紹一下另一種管道通訊 無名管道。有名管道是可以應用於任何兩個程序之間資料的單向傳遞,而無名管道是相對於有名管道的,無名管道在使用時產生,不使用後釋放,並不會在系統上留下任何痕跡。無名管道因其使...