程序間通訊(2) 無名管道

2021-08-08 23:18:31 字數 539 閱讀 8385

1.無名管道

1.1 概念:相對於有名管道,沒有名稱,不能在任意程序之間使用,只能應用與父子程序之間,其原理是父子之間共享檔案描述符,所以fork()之前開啟無名管道

1.2建立並開啟

int pipe(int fd[2])函式庫裡

fd[0]寫端 fd[1]讀端

1

#include

2#include

3#include

4#include

5void main()

6 ;9 fgets(a,128,stdin);//輸入資料

10 close(fd[0]);//關閉讀操作

11 write(fd[1],a,strlen(a));//寫入資料

12printf("write sucess !\n");

13 pid_t pid=fork();

14if(pid==0)//子程序讀入資料

15

20 }

程序間通訊 無名管道

在上次的部落格中,我給大家介紹了程序間通訊的方式 有名管道。管道分為有名管道和無名管道,那麼此次我將給大家介紹一下另一種管道通訊 無名管道。有名管道是可以應用於任何兩個程序之間資料的單向傳遞,而無名管道是相對於有名管道的,無名管道在使用時產生,不使用後釋放,並不會在系統上留下任何痕跡。無名管道因其使...

程序間通訊 無名管道

1.無名管道 pipe 2.有名管道 fifo 3.訊號 signal 4.共享記憶體 share memory 5.訊息佇列 message queue 6.訊號燈集 semaphore set 7.套接字 1.只能用於具有親緣關係的程序之間的通訊 父子或兄弟程序 2.彈弓的通訊模式,具有固定的讀...

程序間通訊 有名管道 無名管道

顧名思義,管道就像是將資料放入到乙個長長的管子中一樣,肯定會有一端寫入資料,稱為寫端,有一段讀出資料,稱為讀端。既然是說像管子一樣那麼它肯定有大小吧,資源不是無窮無盡的,預設下管道的大小是64k,用ulimit a 可以檢視。1 無名管道 管道是半雙工的,資料只能向乙個方向流動 需要雙方通訊時,需要...