linux中ipcs命令使用詳解

用途

linux中ipcs命令使用詳解

報告進程間通信設施狀態。

語法

代碼如下:

ipcs [-mqs] [-abcopt] [-C core] [-N namelist]

-m 輸出有關共享內存(shared memory)的信息

-q 輸出有關信息隊列(message queue)的信息

-s 輸出信號量(semaphore)的信息

# ipcs -m

IPC status from as of 2007年04月10日 星期二 18時32分18秒 CST

T ID KEY MODE OWNER GROUP

Shared Memory:

m 0 0x50000d43 --rw-r--r-- root root

m 501 0x1e90c97c --rw-r----- oracle dba

ipcrm - 刪除ipc(清除共享內存信息)

引用

它的語法:

代碼如下:

ipcrm -m|-q|-s shm_id

-m 輸出有關共享內存(shared memory)的信息

-q 輸出有關信息隊列(message queue)的信息

-s 輸出信號量(semaphore)的信息

shm_id 共享內存id

#ipcrm -m 501

描述

ipcs 命令往標準輸出寫入一些關於活動進程間通信設施的信息。如果沒有指定任何標誌,ipcs 命令用簡短格式寫入一些關於當前活動消息隊列、共享內存段、信號量、遠程隊列和本地隊列標題。

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

ipcs查看消息隊列命令

代碼如下:

ISD_1_3_sles10_64:/usr/local/services/httpd/bin # ipcs -ql

------ Messages: Limits --------

max queues system wide =16

max size of message (bytes) = 65536

default max size of queue (bytes) = 65536

------------------------------------

修改消息隊列大小:

代碼如下:

root:用戶: /etc/

< p>nb =4203520

#nb =3520

ni = 2878

保存後需要執行 sysctl -p ,然後重建所有消息隊列

ipcs -q : 顯示所有的消息隊列

ipcs -qt : 顯示消息隊列的創建時間,發送和接收最後一條消息的時間

代碼如下:

goosns@[:/hai]$ ipcs -qt

------ Message Queues Send/Recv/Change Times --------

msqid owner send recv change

65536 mas Not set Not set May 15 15:56:39

98305 mas May 15 15:59:22 May 15 15:59:22 May 15 15:56:39

ipcs -qp: 顯示往消息隊列中放消息和從消息隊列中取消息的進程ID

代碼如下:

goosns@[:/hai]$ ipcs -qp

------ Message Queues PIDs --------

msqid owner lspid lrpid

65536 mas 0 0

98305 mas 21941 21941

ipcs -q -i msgid: 顯示該消息隊列結構體中的消息信息:

代碼如下:

goosns@[:/hai]$ ipcs -q -i 98305

Message Queue msqid=98305

uid=512 gid=500 cuid=512 cgid=500 mode=0600

cbytes=0 qbytes=4203520 qnum=0 lspid=21941 lrpid=21941

send_time=Thu May 15 16:00:19 2008

rcv_time=Thu May 15 16:00:19 2008

change_time=Thu May 15 15:56:39 2008

ipcs -ql : 顯示消息隊列的限制信息:

代碼如下:

goosns@[:/hai]$ ipcs -ql

------ Messages: Limits --------

max queues system wide = 2878 //最大進程數

max size of message (bytes) = 8192 //隊列中最大消息長度

default max size of queue (bytes) = 4203520