00. 目录
01. 命令概述
ipcs命令用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。
02. 命令格式
格式:ipcs [选项] [参数]
用法:
ipcs [resource ...] [output-format]
ipcs [resource] -i <id>
03. 常用选项
选项:
-i, --id <id> 打印由 id 标识的资源的详细信息
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
资源选项:
-m, --shmems 共享内存段
-q, --queues 消息队列
-s, --semaphores 信号量
-a, --all 全部(默认)
输出格式:
-t, --time 显示附加、脱离和更改时间
-p, --pid 显示 PID 的创建者和最后操作
-c, --creator 显示创建者和拥有者
-l, --limits 显示资源限制
-u, --summary 显示状态摘要
--human 以易读格式显示大小
-b, --bytes 以字节数显示大小
更多信息请参阅 ipcs(1)。
04. 参考示例
4.1 显示所有的IPC信息
[deng@localhost ~]$ ipcs
--------- 消息队列 -----------
键 msqid 拥有者 权限 已用字节数 消息
------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 nattch 状态
--------- 信号量数组 -----------
键 semid 拥有者 权限 nsems
[deng@localhost ~]$
4.2 显示所有的IPC信息
[deng@localhost ~]$ ipcs -a
--------- 消息队列 -----------
键 msqid 拥有者 权限 已用字节数 消息
------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 nattch 状态
--------- 信号量数组 -----------
键 semid 拥有者 权限 nsems
[deng@localhost ~]$
4.3 显示所有消息队列信息
[deng@localhost ~]$ ipcs -q
--------- 消息队列 -----------
键 msqid 拥有者 权限 已用字节数 消息
[deng@localhost ~]$
4.4 显示所有共享内存信息
[deng@localhost ~]$ ipcs -m
------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 nattch 状态
[deng@localhost ~]$
4.5 显示所有信号量信息
[deng@localhost ~]$ ipcs -s
--------- 信号量数组 -----------
键 semid 拥有者 权限 nsems
[deng@localhost ~]$
4.6 显示IPC设施的详细信息
# ipcs -q -i id
id 对应shmid、semid、msgid等。-q对应设施的类型(队列),查看信号量详细情况使用-s,查看共享内存使用-m。
4.7 显示IPC设施的限制大小(共享内存)
[root@localhost ~]# ipcs -m -l
---------- 同享内存限制 ------------
最大段数 = 4096
最大段大小 (千字节) = 2097152
最大总共享内存 (千字节) = 8388608
最小段大小 (字节) = 1
[root@localhost ~]#
-m对应设施类型,可选参数包括-q、-m、-s。
4.8 显示创建者和拥有者
[root@localhost ~]# ipcs -c
---------- 消息队列 创建者/拥有者 ------------
msqid 权限 cuid cgid uid gid
------------- 共享内存段创建者/拥有者 ---------------
shmid 权限 cuid cgid uid gid
----------- 信号量数组创建者/拥有者 ------------
semid 权限 cuid cgid uid gid
4.9 显示创建者和拥有者(共享内存)
[root@localhost ~]# ipcs -m -c
------------- 共享内存段创建者/拥有者 ---------------
shmid 权限 cuid cgid uid gid
4.10 显示创建者和拥有者(消息队列)
[root@localhost ~]# ipcs -q -c
---------- 消息队列 创建者/拥有者 ------------
msqid 权限 cuid cgid uid gid
4.11 显示创建者和拥有者(信号量数组)
[root@localhost ~]# ipcs -s -c
----------- 信号量数组创建者/拥有者 ------------
semid 权限 cuid cgid uid gid
4.12 显示 PID 的创建者和最后操作
[root@localhost ~]# ipcs -p
--------- 消息队列 PID -----------
msqid 拥有者 lspid lrpid
-------- 共享内存 创建者/上次修改者 PID ----------
shmid 拥有者 cpid lpid
[root@localhost ~]# ipcs -m -p
[root@localhost ~]# ipcs -s -p
[root@localhost ~]# ipcs -q -p
4.13 显示附加、脱离和更改时间
[root@localhost ~]# ipcs -t
----------- 消息队列 发送/接收/更改 时间 ------------
msqid 拥有者 发送 接收 更改
------------ 共享内存 添加/脱离/更改 时间 --------------
shmid 拥有者 已连上 已断开 已更改
------------ 信号量 操作/更改 时间 -------------
semid 拥有者 上一操作 上次更改
[root@localhost ~]# ipcs -m -t
[root@localhost ~]# ipcs -s -t
[root@localhost ~]# ipcs -q -t
4.14 显示状态摘要
[root@localhost ~]# ipcs -u
---------- 消息状态 -----------
已分配队列数 = 0
已用消息头(header)数 = 0
已用空间 = 0 字节
---------- 共享内存状态 ------------
段已分配 0
页已分配 0
页驻留 0
页交换 0
交换性能:0 次尝试 0 次成功
--------- 信号量状态 -----------
已使用数组 = 0
已分配信号量数 = 0
[root@localhost ~]#
4.15 以字节数显示大小
[root@localhost ~]# ipcs -b
--------- 消息队列 -----------
键 msqid 拥有者 权限 已用字节数 消息
------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 nattch 状态
--------- 信号量数组 -----------
键 semid 拥有者 权限 nsems