IPCRM("1") manual page
Table of Contents
ipcrm - remove certain IPC resources
ipcrm [options]
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, --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.
- -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.
The details of the removes are described in shmctl(2)
, msgctl(2)
, and semctl(2)
.
The identifiers and keys can be found by using ipcs(1)
.
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 supported.
ipcs(1)
, ipcmk(1)
, msgctl(2)
, msgget(2)
, semctl(2)
, semget(2)
, shmctl(2)
,
shmdt(2)
, shmget(2)
, ftok(3)
The ipcrm command is part of the
util-linux package and is available from Linux Kernel Archive
Table of Contents