ipcrm 命令用于删除指定 ID 的 IPC(Inter-Process Communication,进程间通信)对象,包括消息队列(message queue)、共享内存(shared memory)和信号量(semaphore),同时将与 IPC 对象关联的数据一并删除,只有超级用户或 IPC 对象创建者能够删除。
ipcrm [OPTIONS]
ipcrm {shm | msg | sem} ID...
-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 正在做什么
(1)删除共享内存。
(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命令
责任编辑:xj
原文标题:每天一个 Linux 命令(110):ipcrm 命令
文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !