|
ipcrm — remove a message queue, semaphore set or shared memory id
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
shmkeyRemove the shared memory segment created with shmkey after the last detach is performed.
−m
, −−shmem−id
shmidRemove the shared memory segment identified by shmid after the last detach is performed.
−Q
, −−queue−key
msgkeyRemove the message queue created with msgkey.
−q
, −−queue−id
msgidRemove the message queue identified by msgid.
−S
, −−semaphore−key
semkeyRemove the semaphore created with semkey.
−s
, −−semaphore−id
semidRemove 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 msgctl(2), shmctl(2), and semctl(2). The identifiers and keys may be found by using ipcs(1).
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.
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
Copyright 2002 Andre C. Mazzone (linuxdevkaragee.com) May be distributed under the GNU General Public License |