ipcrm命令用于删除指定ID的IPC(Inter-Process Communication,进程间通信)对象,包括消息队列(message queue)、共享内存(shared memory)和信号量(semaphore),同时将与IPC对象关联的数据一并删除,只有超级用户或IPC对象创建者能够删除。
ipcrm [options]
ipcrm {shm|msg|sem} id...
-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删除信号量
-a, --all [shm msg sem]:删除所有IPC资源。当给定选项参数,shm、msg或sem,则只删除指定类型的IPC资源。注意:慎用该选项,否则可能会导致某些程序出于不确定状态。
(1)删除共享内存段。
ipcrm -m [shmid]
(2)删除消息队列。
ipcrm -q [msgid]
(3)删除信号量。
ipcrm -s [semid]
[1]man ipcrm [2]工作中常用的Linux命令:ipcs/ipcrm命令