Linux 下的IPC控制命令

2021-08-08 17:38:32 字數 1093 閱讀 3982

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 顯示...