1.命令简介

ipcrm 命令用于删除指定 ID 的 IPC(Inter-Process Communication,进程间通信)对象,包括消息队列(message queue)、共享内存(shared memory)和信号量(semaphore)linux删除命令linux删除命令,同时将与 IPC 对象关联的数据一并删除,只有超级用户或 IPC 对象创建者能够删除。

2.命令格式

ipcrm [OPTIONS]
ipcrm {shm | msg | sem} ID...

3.选项说明

linux删除同名命令_linux删除命令_linux删除命令

-a, --all [shm | msg | sem]
 删除所有 IPC 资源。当给定选项参数 shm、msg 或 sem,则只删除指定类型的 IPC 资源。注意:慎用该选项,否则可能会导致某些程序出于不确定状态
-M, --shmem-key SHMKEY
 当没有进程与共享内存段绑定时,通过 SHMKEY 删除共享内存段
-m, --shmem-id SHMID
 当没有进程与共享内存段绑定时,通过 SHMID 删除共享内存段
-Q, --queue-key MSGKEY
 通过 MSGKEY 删除消息队列
-q, --queue-id MSGID
 通过 MSGID 删除消息队列
-S, --semaphore-key SEMKEY
 通过 SEMKEY 删除信号量
-s, --semaphore-id SEMID
 通过 SEMID 删除信号量
-h, --help
 显示帮助信息并退出
-V, --version
 显示版本信息并退出
-v, --verbose
 以冗余模式执行 ipcrm,输出 rpcrm 正在做什么

4.常用示例

(1)删除共享内存。

linux删除命令_linux删除命令_linux删除同名命令

ipcrm -M SHMKEY
# 或
ipcrm -m SHMID
# 或
ipcrm shm SHMID

(2)删除消息队列。

ipcrm -Q MSGKEY
# 或
ipcrm -q MSGID
# 或
rpcrm msg MSGID

(3)删除信号量。

ipcrm -S SEMKEY
# 或
ipcrm -s SEMID
# 或
ipcrm sem SEMID

(4)删除所有 IPC 资源。请谨慎使用。

ipcrm -v -a
removing shared memory segment id `0'
removing shared memory segment id `655361'

removing shared memory segment id `688130'
removing shared memory segment id `720899'

removing shared memory segment id `131076'
removing shared memory segment id `163845'

removing shared memory segment id `753670'
removing semaphore id `851968'

removing semaphore id `884737'
removing semaphore id `917506'

removing semaphore id `950275'
removing semaphore id `983044'

removing semaphore id `1015813'

(5)查看 ipcrm 版本。

ipcrm -V
ipcrm from util-linux 2.23.2

参考文献

[1] ipcrm manual

[2] 工作中常用的Linux命令:ipcs/ipcrm命令

给我们公号发送 命令 二字,获取“每天一个Linux命令”系列的完整目录。

– EOF –

限时特惠:本站每日持续更新海量展厅资源,一年会员只需29.9元,全站资源免费下载
站长微信:zhanting688