管道通訊的特點及有名管道和無名管道的區別

2021-09-29 07:41:35 字數 353 閱讀 9242

管道通訊的特點

1.管道通訊是單向的,有固定的讀端和寫端。

2.資料被程序從管道讀出後,在管道中該資料就不存在了

3.當程序去讀取空管道的時候,程序會阻塞;

4.當管道往滿管道寫資料時,程序會阻塞;

5.管道的容量是64kb(#define pipe_buffers 16 include/linux/pipe_fs_i.h)

區別:無名管道是無名的,有名管道是有名的;

無名管道只能用於父子程序或兄弟程序之間的通訊,而有名管道可用於任意兩程序之間通訊;

無名管道是無形的,即無名管道的 inode 結構不是在磁碟上儲存的,而是臨時生成的,而有名管道的 inode 結點在磁碟上。

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

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

無名管道和有名管道

無名管道 無名管道建立 int pipe int filedis 2 當乙個管道建立時,它會建立兩個檔案描述符 filedis 0 用於讀管道,filedis 1 用於寫管道 管道用於不同程序間通訊。通常先建立乙個管道,再通過fork函式建立乙個子程序,該子程序會繼承父程序所建立的管道 有名管道 有...

管道 無名管道 和FIFO 有名管道

管道是最初的unixipc形式,但是因為管道沒有名字,所以它們只能用於有親緣關係的程序使用 進而有名管道 fifo 應運而生,有名管道有乙個路徑名與之關聯,所以允許無親緣關係的程序訪問同乙個fifo。以下具體介紹管道 管道的建立 管道由函式 int pipe int fd 2 建立,提供乙個單向資料...