最常用的無名管道,有名管道,訊息佇列,訊號,訊號量,共享記憶體等程序間的通訊方式。其實後面網路通訊套位元組 socket的方式也可以歸為程序通行。
#include
#include
#include
#include
//程序讀函式
void
read_data
(int*)
;//程序寫函式
void
write_data
(int*)
;int
main
(int argc,
char
*ar**)
pid =
fork()
;//建立程序
switch
(pid)
return0;
}//程序讀函式
void
read_data
(int pipes)
exit(0
);}//程序寫函式
void
write_data
(int pipes)
}close
( pipes[1]
);exit(0
);}
#include
#include
#include
#include
#include
#include
void
filecopy
(file *
,char*)
;int
main
(void
)while
(i--
)filecopy
(fp1,buf)
;fclose
(fp1)
;printf
("over!\n");
return0;
}void
filecopy
(file *ifp,
char
*buf)
putc
('\n'
,ifp)
;}
readpipe.c 檔案測試對有名管道的讀
在這裡插入**片
嵌入式 Linux程序間通訊(八) 共享記憶體
共享記憶體允許兩個或更多程序共享給定的記憶體區,資料不需要在不同程序間進行複製,是最快的程序間通訊方式。使用共享記憶體唯一需要注意的是多個程序之間對給定儲存區的同步訪問,但共享記憶體本身沒有提供同步機制,通常使用訊號量來實現對共享記憶體訪問的同步。共享記憶體程式設計流程 建立共享記憶體 對映共享記憶...
嵌入式 Linux程序間通訊(八) 共享記憶體
嵌入式 linux程序間通訊 八 共享記憶體 一 共享記憶體 共享記憶體允許兩個或更多程序共享給定的記憶體區,資料不需要在不同程序間進行複製,是最快的程序間通訊方式。使用共享記憶體唯一需要注意的是多個程序之間對給定儲存區的同步訪問,但共享記憶體本身沒有提供同步機制,通常使用訊號量來實現對共享記憶體訪...
嵌入式綜合複習(程序間通訊的方式)
1.管道pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。2.命名管道fifo 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。3.訊息佇列messagequeue 訊息佇列是由訊息的鍊錶,存放在核心中並由...