linux程序間的通訊

2021-07-31 23:57:11 字數 875 閱讀 7931

注:因此在使用者空間實現程序通訊是不可能的,通過linux核心通訊

2. 有哪幾種通訊方式?

管道通訊:無名管道、有名管道(檔案系統中有名)

訊號通訊:訊號(通知)通訊包括:訊號的傳送、訊號的接收和訊號的處理。

ipc(inter-process communication)通訊:共享記憶體、訊息佇列和訊號燈。

以上是單機模式下的程序通訊(只有乙個linux核心)

socket通訊:存在於乙個網路中兩個程序之間的通訊(兩個linux核心)。

3. 學習思路

程序通訊的學習思路:每一種通訊方式都是基於檔案io的思想。

open:功能:建立或開啟程序通訊物件。函式形式不一樣,有的是有多個函式完成。

write: 功能:向程序通訊物件中寫入內容。函式形式不一樣。

read: 功能:從程序通訊物件中讀取內容。函式形式不一樣。

close: 功能:關閉或刪除程序通訊物件。形式不一樣。

上面是檔案i/o讀寫函式和ipc(inter-process communication)通訊:共享記憶體、訊息佇列和訊號燈相關函式的對比。具體可使用linux下man命令檢視具體形式比如(man read,man shmget)。如下圖:

通過man命令檢視這些函式的具體形式和引數,即可了解並使用。

Linux程序間通訊

程序間通訊 ipc interprocess communication 基本機制 訊號 管道及命名管道 訊息佇列 共享主存 訊號量 套接字。訊號 全稱軟中斷訊號,是在軟體層次上對中斷機制的一種模擬,它也是程序間通訊機制中唯一的非同步通訊機制。linux訊號處理函式可分為訊號安裝函式 訊號傳送函式和...

Linux程序間通訊

謝謝nonoob糾錯 我們在linux訊號基礎中已經說明,訊號可以看作一種粗糙的程序間通訊 ipc,interprocess communication 的方式,用以向程序封閉的記憶體空間傳遞資訊。為了讓程序間傳遞更多的資訊量,我們需要其他的程序間通訊方式。這些程序間通訊方式可以分為兩種 1.管道與...

Linux程序間通訊

謝謝nonoob糾錯 我們在linux訊號基礎中已經說明,訊號可以看作一種粗糙的程序間通訊 ipc,interprocess communication 的方式,用以向程序封閉的記憶體空間傳遞資訊。為了讓程序間傳遞更多的資訊量,我們需要其他的程序間通訊方式。這些程序間通訊方式可以分為兩種 1.管道與...