1.命令简介
ipcrm命令用于删除指定ID的IPC(Inter-ProcessCommunication,进程间通信)对象,包括消息队列(messagequeue)、共享内存(sharedmemory)和信号量(semaphore),同时将与IPC对象关联的数据一并删除,只有超级用户或IPC对象创建者能够删除。
2.命令格式ipcrm[OPTIONS]ipcrm{shm|msg|sem}ID...
3.选项说明-a,--all[shm|msg|sem]删除所有IPC资源。当给定选项参数shm、msg或sem,则只删除指定类型的IPC资源。注意:慎用该选项,否则可能会导致某些程序出于不确定状态-M,--shmem-keySHMKEY当没有进程与共享内存段绑定时,通过SHMKEY删除共享内存段-m,--shmem-idSHMID当没有进程与共享内存段绑定时,通过SHMID删除共享内存段-Q,--queue-keyMSGKEY通过MSGKEY删除消息队列-q,--queue-idMSGID通过MSGID删除消息队列-S,--semaphore-keySEMKEY通过SEMKEY删除信号量-s,--semaphore-idSEMID通过SEMID删除信号量-h,--help显示帮助信息并退出-V,--version显示版本信息并退出-v,--verbose以冗余模式执行ipcrm,输出rpcrm正在做什么
4.常用示例
(1)删除共享内存。
(2)删除消息队列。ipcrm-QMSGKEY#或ipcrm-qMSGID#或rpcrmmsgMSGID
(3)删除信号量。ipcrm-SSEMKEY#或ipcrm-sSEMID#或ipcrmsemSEMID
(4)删除所有IPC资源。请谨慎使用。ipcrm-v-aremovingsharedmemorysegmentid`0'removingsharedmemorysegmentid`655361'removingsharedmemorysegmentid`688130'removingsharedmemorysegmentid`720899'removingsharedmemorysegmentid`131076'removingsharedmemorysegmentid`163845'removingsharedmemorysegmentid`753670'removingsemaphoreid`851968'removingsemaphoreid`884737'removingsemaphoreid`917506'removingsemaphoreid`950275'removingsemaphoreid`983044'removingsemaphoreid`1015813'
(5)查看ipcrm版本。ipcrm-Vipcrmfromutil-linux2.23.2
参考文献
[1]ipcrmmanual
[2]工作中常用的Linux命令:ipcs/ipcrm命令
责任编辑:xj
原文标题:每天一个Linux命令(110):ipcrm命令