Ubuntu下Linux程序間通訊 匿名管道

2021-10-06 02:19:14 字數 750 閱讀 5953

linux程序間通訊——匿名管道

linux程序間通訊——fifo(有名管道)

linux程序間通訊——訊息佇列

linux程序間通訊——訊號量

linux程序間通訊——共享記憶體

linux提供了多種程序間通訊的方法,常見有管道(匿名)、fifo(有名管道)、訊息佇列、訊號量、共享記憶體,socket通訊

1.匿名管道

匿名管道是最古老的程序間通訊方法,兩個程序間管道傳遞資料是單向的。

#include

intpipe

(int filedes[2]

);

filedes會返回兩個檔案描述符,filedes[0]為讀端,filedes[1]為寫端。建立成功pipe()會返回0,失敗返回-1。

例項

#include

#include

#include

#include

#include

intmain()

//建立程序

pid=

fork()

;if(pid<0)

//父程序

elseif(

0//子程序

else

return0;

}

匿名管道通訊只能單向通訊。父程序向子程序寫資料。同一時刻,父程序只能向子程序寫入資料,或者讀出資料。

Ubuntu下Linux程序間通訊 共享記憶體

linux提供了多種程序間通訊的方法,常見有管道 匿名 fifo 有名管道 訊息佇列 訊號量 共享記憶體,socket通訊。linux程序間通訊 匿名管道 linux程序間通訊 fifo 有名管道 linux程序間通訊 訊息佇列 linux程序間通訊 訊號量 linux程序間通訊 共享記憶體 5.共...

Ubuntu下Linux程序間通訊 訊號量

linux提供了多種程序間通訊的方法,常見有管道 匿名 fifo 有名管道 訊息佇列 訊號量 共享記憶體,socket通訊。linux程序間通訊 匿名管道 linux程序間通訊 fifo 有名管道 linux程序間通訊 訊息佇列 linux程序間通訊 訊號量 linux程序間通訊 共享記憶體 4.訊...

linux下程序間通訊

linux下程序間通訊的幾種主要手段簡介 管道 pipe 及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊 訊號 signal 訊號是比較複雜的通訊方式,用於通知接受程序有某種事件發...