一、ipcs
1. 功能
显示 Linux 中进程间通信设施的状态,其中包括消息队列、共享内存和信号量的信息。
2. 使用方法
-
【格式】
ipcs [resource...] [output-format]
ipcs [resource] -i <id>
-
【选项说明】
resource | 说明 |
---|---|
-a | 显示系统内所有的 IPC 资源信息(默认选项) |
-q | 显示消息队列资源信息 |
-m | 显示共享内存资源信息 |
-s | 显示信号量资源信息 |
output-format | 说明 |
---|---|
-t | 显示 IPC 资源被访问的详细时间 |
-p | 显示 IPC 资源的创建者以及最近访问过 IPC 资源的进程 ID |
-c | 显示 IPC 资源的创建者和所有者 |
-l | 显示 IPC 资源的限制信息 |
-u | 显示当前 IPC 资源的使用情况,若后面有 --human 选项,则以人易读的格式显示 |
-b | 显示 IPC 资源的字节大小 |
3. 应用
【示例一】:显示系统内所有的 IPC 资源信息
【示例二】:只显示消息队列资源信息
【示例三】:显示上图中 msqid 为262144的消息队列的详细信息
【示例四】:显示当前系统中消息队列的限制信息
【示例五】:以人易读的格式显示当前系统中消息队列的使用情况
二、ipcrm
1. 功能
通过指定 ID 删除 IPC 资源,同时将与 IPC 对象关联的数据一并删除,只有超级用户或 IPC 资源的创建者能够删除。
2. 使用方法
-
【格式】
ipcrm [options]
ipcrm <shm|msg|sem> <id> [...]
-
【选项说明】
options | 说明 |
---|---|
-m | 删除用 shmid 标识的共享内存段 |
-M | 删除用 key 创建的共享内存段 |
-q | 删除用 msqid 标识的消息队列 |
-Q | 删除用 key 创建的消息队列 |
-s | 删除用 semid 标识的信号量 |
-S | 删除用 key 创建的信号量 |
-a | 全部删除 |
-v | 解释正在进行的操作 |
3. 应用
【示例一】:通过 msqid 删除消息队列
【示例二】:通过 key 删除消息队列