雙程序無名管道通訊應用例項

2021-10-08 20:56:18 字數 610 閱讀 6817

更多資料:我的目錄

要求:①用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...

程序間通訊 無名管道

在上次的部落格中,我給大家介紹了程序間通訊的方式 有名管道。管道分為有名管道和無名管道,那麼此次我將給大家介紹一下另一種管道通訊 無名管道。有名管道是可以應用於任何兩個程序之間資料的單向傳遞,而無名管道是相對於有名管道的,無名管道在使用時產生,不使用後釋放,並不會在系統上留下任何痕跡。無名管道因其使...