天天看點

管道---pipe函數執行個體講解

       linux程式設計,很多的開源軟體中都會用到管道技術,而管道技術中pipe用的叫頻繁,這幾天正在看一個軟體的源碼,同樣裡面用到了pipe函數,是以駐足,編寫此文檔,用以加深印象。

一、管道具有以下特點:

管道是半雙工的,資料隻能向一個方向流動;需要雙方通信時,需要建立起兩個管道;

隻能用于父子程序或者兄弟程序之間(具有親緣關系的程序);

單獨構成一種獨立的檔案系統:管道對于管道兩端的程序而言,就是一個檔案,但它不是普通的檔案,它不屬于某種檔案系統,而是自立門戶,單獨構成一種檔案系統,并且隻存在與記憶體中。

資料的讀出和寫入:一個程序向管道中寫的内容被管道另一端的程序讀出。寫入的内容每次都添加在管道緩沖區的末尾,并且每次都是從緩沖區的頭部讀出資料。

二、 管道的基本原理圖

管道---pipe函數執行個體講解

三、管道的讀寫規則

管道---pipe函數執行個體講解

四、 執行個體代碼

管道---pipe函數執行個體講解
管道---pipe函數執行個體講解

五、編譯運作

管道---pipe函數執行個體講解

本文結束

繼續閱讀