国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩


Linux下進程間通信方式-管道

分享到:
           

    本文關鍵字: linux 管道通信,linux 進程通信方式 ,無名管道,有名管道

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

    1.無名管道

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

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

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

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

    2.有名管道(FIFO)

    有名管道是對無名管道的一種改進,如圖1(右)所示,它具有如下特點:

    ● 它可以使互不相關的兩個進程實現(xiàn)彼此通信。

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

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

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

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發(fā)》

   熱點鏈接:

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

更多新聞>>