shell環境控制ipc
ipc物件一經建立,系統核心即會為該物件分配相關資料結構。為了方便對ipc物件的管理,linux系統提供了專門的ipc控制命令,主要包括檢視ipc物件資訊的ipcs和刪除ipc物件的ipcrm。
1、檢視ipc物件資訊
ipcs [引數]
(1)引數說明:
-a :檢視全部ipc物件資訊
-q :檢視訊息佇列資訊
-m :檢視共享記憶體資訊
-s :檢視訊號量資訊
(2) 輸出說明:
·key: 鍵值,在系統中是全域性唯一的,表明該物件的鍵值。不同的ipc機制,其key值是可以重複的。
·id :識別符號,訪問該ipc的識別符號。對於同一鍵值的ipc物件,每重建(刪除後重新建立)一次,識別符號都將加 1,到達系統約定的最大值後歸0重新加1.
·owner: 物件屬主
·perms: 物件許可權,與檔案許可權類似,以3組共9位八進位制數字表示,可以在建立物件時指定訪問許可權。
·nattch: 共享記憶體物件專用,表明有多少個程序對該共享記憶體進行了對映(shmat)。
·nsems: 訊號量專用,表明該訊號量物件包含多少個訊號量(乙個訊號集可以包含多個訊號量)。
·used-bytes: 訊息佇列專用,表明該訊息佇列中儲存的資料量(以位元組為單位)。
·messages: 訊息佇列專用,表明該訊息佇列中有多少條訊息。
2、刪除ipc物件
ipcrm [-smq] id 或 ipcrm [-smq] key
(1)引數說明:
-q、-q :刪除訊息佇列資訊
-m、-m :刪除共享記憶體資訊
-s、-s
:刪除訊號量資訊
· 如果指定了smq,則用ipc的識別符號(id)作為輸入;如果指定了smq,則用ipc物件的鍵值(key)作為輸入。
關於Linux系統下IPC筆記
linux下程序間通訊的幾種主要手段簡介 1.管道 pipe 及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通訊 2.訊號 signal 訊號是比較複雜的通訊方式,用於通知接受程序有某...
Linux下的IPC 命名管道的使用
程序之間通過管道來進行通訊是一種常用的方法,顧名思義,管道就是一端進 寫 一端出 讀 的fifo佇列,這個佇列由核心管理,有一定大小 一般是4k 有文章上提到,如果需要修改該快取區,需要重新編譯核心 修改linux limits.h裡pipe buf的定義 需要明確的是,雖然管道在理論上是雙向的,但...
IPC的狀態命令
ipc是程序間通訊,在前面,我們相繼學習了程序間通訊機制有訊號量,記憶體共享,訊息佇列。狀態命令 ipcs 和刪除命令 ipcrm 提供了一種檢查和清理ipc機制的方法。二 狀態命令 1 顯示訊號量狀態用ipcs s 2 顯示共享記憶體狀態用ipcs m 3 顯示訊息佇列狀態用ipcs q 4 顯示...