gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻


Linux下進(jìn)程間通信方式-管道

分享到:
           

    本文關(guān)鍵字: linux 管道通信,linux 進(jìn)程通信方式 ,無(wú)名管道,有名管道

    管道是Linux中進(jìn)程間通信的一種方式,它把一個(gè)程序的輸出直接連接到另一個(gè)程序的輸入。Linux的管道主要包括兩種:無(wú)名管道和有名管道。

    1.無(wú)名管道

    無(wú)名管道是Linux中管道通信的一種原始方法,如圖1(左)所示,它具有如下特點(diǎn):

    ● 它只能用于具有親緣關(guān)系的進(jìn)程之間的通信(也就是父子進(jìn)程或者兄弟進(jìn)程之間)。

    ● 它是一個(gè)半雙工的通信模式,具有固定的讀端和寫端。

    ● 管道也可以看成是一種特殊的文件,對(duì)于它的讀寫也可以使用普通的read()、write()等函數(shù)。但是它不是普通的文件,并不屬于其他任何文件系統(tǒng),并且只存在于內(nèi)存中。

    2.有名管道(FIFO)

    有名管道是對(duì)無(wú)名管道的一種改進(jìn),如圖1(右)所示,它具有如下特點(diǎn):

    ● 它可以使互不相關(guān)的兩個(gè)進(jìn)程實(shí)現(xiàn)彼此通信。

    ● 該管道可以通過(guò)路徑名來(lái)指出,并且在文件系統(tǒng)中是可見(jiàn)的。在建立了管道之后,兩個(gè)進(jìn)程就可以把它當(dāng)做普通文件一樣進(jìn)行讀寫操作,使用非常方便。

    ● FIFO嚴(yán)格地遵循先進(jìn)先出規(guī)則,對(duì)管道及FIFO的讀總是從開(kāi)始處返回?cái)?shù)據(jù),對(duì)它們的寫則是把數(shù)據(jù)添加到末尾,它們不支持如lseek()等文件定位操作。

  
圖1 無(wú)名管道(左)和有名管道(右)

    本文選自華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)教材《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開(kāi)發(fā)》

   熱點(diǎn)鏈接:

   1、Linux下進(jìn)程間通信
   2、實(shí)驗(yàn):編寫守護(hù)進(jìn)程
   3、實(shí)驗(yàn):編寫多進(jìn)程程序
   4、Linux守護(hù)進(jìn)程
   5、Linux下多進(jìn)程編程之exec函數(shù)語(yǔ)法及使用實(shí)例

更多新聞>>