1. Tech

Your suggestion is on its way!

An email with a link to:


was emailed to:

Thanks for sharing About.com with others!

Linux / Unix Command: ipcrm
Command Library


ipcrm - remove a message queue, semaphore set or shared memory id  


ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] ...

deprecated usage

ipcrm [ shm | msg | sem ] id ...  


ipcrm removes System V interprocess communication (IPC) objects and associated data structures from the system. In order to delete such objects, you must be superuser, or the creator or owner of the object.

System V IPC objects are of three types: shared memory, message queues, and semaphores. Deletion of a message queue or semaphore object is immediate (regardless of whether any process still holds an IPC identifier for the object). A shared memory object is only removed after all currently attached processes have detached (shmdt(2)) the object from their virtual address space.

Two syntax styles are supported. The old Linux historical syntax specifies a three letter keyword indicating which class of object is to be deleted, followed by one or more IPC identifiers for objects of this type.

The SUS-compliant syntax allows the specification of zero or more objects of all three types in a single command line, with objects specified either by key or by identifier. (See below.) Both keys and identifiers may be specified in decimal, hexadecimal (specified with an initial '0x' or '0X'), or octal (specified with an initial '0').



-M shmkey
removes the shared memory segment created with shmkey after the last detach is performed.
-m shmid
removes the shared memory segment identified by shmid after the last detach is performed.
-Q msgkey
removes the message queue created with msgkey.
-q msgid
removes the message queue identified by msgid.
-S semkey
removes the semaphore created with semkey.
-s semid
removes the semaphore identified by semid.

The details of the removes are described in msgctl(2), shmctl(2), and semctl(2). The identifiers and keys may be found by using ipcs(8).  


ipcs(8), msgctl(2), msgget(2), semctl(2), semget(2), shmctl(2), shmdt(2), shmget(2), ftok(3)

Important: Use the man command (% man) to see how a command is used on your particular computer.

>> Linux/Unix Command Library

>> Shell Command Library

  1. About.com
  2. Tech
  3. Linux

©2016 About.com. All rights reserved.