ipcrm - remove certain IPC resources
removes System V inter-process 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
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').
The details of the removes are described in shmctl(2)
. The identifiers and keys can be found by using
- -a, --all [shm] [msg] [sem]
- Remove all resources. When an option argument is provided, the removal is
performed only for the specified resource types. Warning! Do not
use -a if you are unsure how the software using the resources might
react to missing objects. Some programs create these resources at startup
and may not have any code to deal with an unexpected disappearance.
- -M, --shmem-key shmkey
- Remove the shared memory segment created with shmkey after the last
detach is performed.
- -m, --shmem-id shmid
- Remove the shared memory segment identified by shmid after the last
detach is performed.
- -Q, --queue-key msgkey
- Remove the message queue created with msgkey.
- -q, --queue-id msgid
- Remove the message queue identified by msgid.
- -S, --semaphore-key semkey
- Remove the semaphore created with semkey.
- -s, --semaphore-id semid
- Remove the semaphore identified by semid.
- -V, --version
- Display version information and exit.
- -h, --help
- Display help text and exit.
In its first Linux implementation, ipcrm
used the deprecated syntax shown
in the second line of the SYNOPSIS
. Functionality present in other *nix
implementations of ipcrm
has since been added, namely the ability to
delete resources by key (not just identifier), and to respect the same
command-line syntax. For backward compatibility the previous syntax is still
The ipcrm command is part of the util-linux package and is available from