ipcs

tonykorn97發表於2006-09-11

ipcs 命令
用途
報告程式間通訊設施狀態。

語法
ipcs [ -m] [ -q] [ -s] [ -S] [ -P] [ -l] [ -a | -b -c -o -p -t] [ -T] [ -C CoreFile] [ -N Kernel ]

描述
ipcs 命令往標準輸出寫入一些關於活動程式間通訊設施的資訊。如果沒有指定任何標誌,ipcs 命令用簡短格式寫入一些關於當前活動訊息佇列、共享記憶體段、訊號量、遠端佇列和本地佇列標題。


列標題和在 ipcs 命令中的列的含義列在下面。圓括號內的字母表示導致對應的報頭出現的標誌。all 設計符表示始終顯示報頭。這些標誌僅僅確定提供給每個裝置何種資訊。但它們並不確定將列出哪些裝置。

T (all)設施的型別。共有三種設施型別:
q
訊息佇列
m
共享記憶體段
s
訊號量
ID (all)設施項的標識。
KEY (all)用作 msgget 子例程、semget 子例程或者 shmget 子例程的引數的鍵構成了設施項。

注: 當刪除記憶體段時,共享記憶體段的金鑰改變為 IPC_PRIVATE,直到所有附加在段上的程式和它拆離。
MODE (all)設施訪問方式和標誌。這種方式由 11 個字元組成,解釋如下:
前兩個字元如下所示:

R
如果程式在等待 msgrcv 系統呼叫。
S
如果程式在等待 msgsnd 系統呼叫。
D
如果有關的共享記憶體段被刪除。當附加在段上的最後一個程式拆離後它就會消失。
C
當第一個附加程式執行時,如果有關的共享記憶體段被清空。
-
如果沒有設定相應的特定標誌。
接下來的九個字元作為每三個一組解釋。第一組是指擁有者有許可權;第二組是指在設施項的使用者組中其他使用者的許可權;最後一組指所有的使用者。在每組中,第一個字元表示允許讀,第二個字元表示可以寫或者修改設施項,最後一個字元當前沒有用過。

許可權如下所示:

r
如果授予了讀許可權。
w
如果授予了寫許可權。
a
如果授予了修改許可權。
-
如果沒有授予指定的許可權。
OWNER (all)設施項所有者的登入名。
GROUP (all)擁有設施項的組名。
CREATOR (a、c)設施項建立者的登入名。
CGROUP (a、c)設施項建立者的組名。

注: 對於 OWNER、GROUP、CREATOR 和 CGROUP,顯示使用者和組的標識而不顯示登入名。
CBYTES (a、o)當前停留在相關訊息佇列中的訊息的位元組數。
QNUM (a、o)當前停留在相關訊息佇列中的訊息的位元組數。
QBYTES (a、b)停留在相關訊息佇列中訊息允許的最大位元組數。
LSPID (a、p)傳送訊息到相關佇列的最後程式的標識。如果傳送的最後一條訊息是來自節點上的程式而不是保留該節點的佇列,LSPID 是真正把訊息放進佇列的核心程式的 PID,而不是傳送程式的 PID。
LRPID (a、p)接收來自相關佇列的訊息的程式標識。如果接收的最後一條訊息來自一個節點上的程式而不是保留該佇列的節點,LRPID 是真正接收佇列上訊息的核心程式的 PID ,而不是接收程式的 PID。
STIME (a、t)最後一條訊息傳送到相關佇列的時間。對於遠端佇列,這是伺服器時間。沒有做任何措施來補償本地時鐘和伺服器時鐘之間的時區差異。
RTIME (a、t)接受最後一條來自相關佇列的訊息的時間。對於遠端佇列來說,這是伺服器時間。沒有做任何措施來補償本地時鐘和伺服器始終之間的時區差異。
CTIME (a、t)建立和改變相關項的時間。對於遠端佇列,這是伺服器時間。沒有做任何措施來本地時鐘和伺服器時鐘之間的任何時區差異。
NATTCH (a、o)連線在關聯的共享記憶體段的程式數。
SEGSZ (a、b)關聯的共享記憶體段的大小。
CPID (a、p)共享記憶體項的建立程式的程式標識。
LPID (a、p)連線或者拆離共享記憶體段的最後一個程式的標識。
ATIME (a、t)最後一次與關聯的共享記憶體段完成連線的時間。
DTIME (a、t)最後一次與關聯的共享記憶體段完成拆離的時間。
NSEMS (a、b)在與訊號項相關聯的訊號集中的訊號量數量。
OTIME (a、t)在關聯的訊號量中完成訊號量操作的時間。
SID (S)共享記憶體段的標識。SID 可以用作 svmon -S 命令的輸入。

該命令支援多位元組字符集。

標誌

-a 使用 -b、-c、-o、-p 和 -t 標誌。
-b 寫入訊息佇列的佇列上訊息的最大位元組數、共享記憶體段的大小、每個訊號量集中訊號量的數量。
-c 寫入構建該設施的使用者的登入名和組名稱。
-CCoreFile 用由 CoreFile 引數指定的檔案來代替 /dev/mem 檔案。CoreFile 引數是由 Ctrl-(left)Alt-Pad1 按鍵順序建立的記憶體映像檔案。
-l 當和 -S 標誌一起使用時,該標誌寫入未展開的 SID 列表。
-m 寫入一些關於活動共享記憶體段的資訊。
-NKernel 用指定的 Kernel( /usr/lib/boot/unix 檔案是預設的)。
-o 寫以下的使用資訊:
佇列上的訊息數
訊息佇列上訊息的總位元組數
連線在共享記憶體段上的程式數

-p 寫程式編號的資訊:
最後接收訊息佇列上訊息的程式號
最後在訊息佇列上傳送訊息的程式號
建立程式的程式號
最後一個連線或拆離共享記憶體段的程式編號

-P 寫入與共享記憶體標識有關的 SID(段標識)列表,以及保留在那個段中的位元組數,和段是否已啟用大頁的標誌符。如果段支援大頁面,就顯示一個 'Y',否則顯示一個 '-'。
-q 寫入一些關於活動訊息佇列的資訊。
-s 寫入一些關於活動訊號量集的資訊。
-S 寫入連線在共享記憶體標識上的 SID 列表。
-t 寫入時間資訊:
最後一次更改所有裝置訪問許可權的控制操作的時間。
訊息佇列上最後一次執行 msgsnd 和 msgrcv 的時間。
共享記憶體上最後一次執行 shmat 和 shmdt 的時間。
在訊號量集上最後一次執行 semop 的時間。

-T 寫入帶有日期的 -t 標記的輸出。

注:
如果使用者指定 -C 或者 -N 標記,實型和有效的 UID/GID 設定為呼叫 ipcs 的使用者的實型 UID/GID。
當執行 ipcs 時可以更改值;僅當檢索它時它給出的資訊才保證是正確的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245474/,如需轉載,請註明出處,否則將追究法律責任。