進程間通信
如果兩個進程,想要知道對方在干嘛,或者進行協(xié)調(diào)運行,就需要進程間通信。下面介紹一下常見的進程間通信方式。
無名管道: 管道是一種半雙工的通信方式。數(shù)據(jù)只能單向流動,而且只能在,具有親緣關(guān)系的進程間使用。進程間的親緣關(guān)系,通常指父子進程關(guān)系。
有名管道: 有名管道也是,半雙工的通信方式,但是它允許無親緣關(guān)系進程間的通信。
消息隊列:消息隊列是有消息的鏈表,存放在內(nèi)核中,并由消息隊列標(biāo)識符標(biāo)識。它克服了信號傳遞信息少,管道只能承載無格式字符流以及緩沖區(qū)大小受限等特點。
信號量: 是一個計數(shù)器,可以用來控制多個進程對共享內(nèi)存的訪問。它作為一種鎖機制,防止某個進程,正在訪問共享資源的時候,其他進程也訪問該資源,造成資源搶占。
信號: 一種較復(fù)雜的通信方式,用于通知和接收進程某個事件的發(fā)生。
共享內(nèi)存: 是映射一段能被其他進程所訪問的內(nèi)存,這段共享內(nèi)存由一個進程創(chuàng)建,但多個進程都可以訪問。
套接字: 是一種進程間通信機制,與其他通信機制不同的是,它可用于 不同機器間的進程通信。
-
通信
+關(guān)注
關(guān)注
18文章
6177瀏覽量
137386 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7097瀏覽量
124981 -
進程
+關(guān)注
關(guān)注
0文章
206瀏覽量
14222
發(fā)布評論請先 登錄
哪些方式可以實現(xiàn)Linux系統(tǒng)下的進程間通信
進程間通信之Linux下進程間通信概述
Linux進程間通信方式——管道

評論