linux 管道特性

2021-06-25 16:12:56 字數 571 閱讀 5944

管道的限制

1、單向

2、管道只能通過繼承傳遞

暫時管道的特性就這倆吧

1、管道的單向性,這個聽起來有點像二極體的單向導電性,反應事物與事物之間的聯絡。

int fd[2], 規定fd[0]是讀端,fd[1]是寫端,只能由一端讀一端寫,如果是父子程序間通訊,那麼通常寫法是把其中的一端關閉,問題是如果不關閉其中一端,那麼會是怎樣的乙個結果呢

2、管道只能通過繼承傳遞

偽**如下:

intfd[2];

pid_tpid = fork();

pipe(fd,flags);

if(pid== 0)

else

如果是pipe()之後再fork(),則會出現什麼樣的情況,可以一試

管道的特性

管道是一種兩個程序間進行單向通訊的機制。其有如下限制 1 單向通訊。資料只能由乙個程序流向另乙個程序 其中乙個讀管道,乙個寫管道 建兩個管道可以實現雙向通訊。2 只能用於父子程序或者兄弟程序間通訊。管道只能用於具有親緣關係的程序間通訊。3 管道沒有名字。4 管道的緩衝區大小有限制 5 傳輸的是無格式...

無名管道和有名管道的特性,特點

程序間通訊之管道 管道 無名管道 無名管道的建立和使用函式 標頭檔案 include 函式int pipe int filedes 2 int pipe int filedes 2 功能 經由引數 filedes 返回兩個檔案描述符 引數 filedes 為 int 型陣列的首位址,其存放了管道的檔...

linux管道(無名管道)

首先管道是程序之間的乙個單向資料流,它的資料流向由核心管理,只能從乙個程序流向另外乙個程序,乙個程序向管道寫入資料,另外乙個程序從這個管道讀取資料。在使用管道 無名管道 時,只能用在父子程序或者親屬程序之間,若要用在任意程序之間則需要使用fifo 有名管道 如圖程序ab通過管道進行資料交換。程序a通...