Name
ipcrm — remove a message queue, semaphore set or
shared memory id
Synopsis
ipcrm [ −M key | −m id | −Q key | −q id | −S key | −s id ...]
deprecated usage
ipcrm [ shm | msg | sem ]
id...
DESCRIPTION
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').
OPTIONS
−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).
NOTES
In its first Linux implementation, ipcrm used the
deprecated syntax shown in 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 supported.