blob: c5adf9b8f37363f9b98ef3cecff0ff06fb6ad680 [file] [log] [blame]
.\" Copyright 2002 Andre C. Mazzone (linuxdev@karagee.com)
.\" May be distributed under the GNU General Public License
.TH IPCRM 1 "last change: 19 March 2002" "ipcrm" "Linux Programmer's Manual"
.SH NAME
ipcrm \- remove a message queue, semaphore set or shared memory id
.SH SYNOPSIS
.B ipcrm
[
.B \-M
.I key
|
.B \-m
.I id
|
.B \-Q
.I key
|
.B \-q
.I id
|
.B \-S
.I key
|
.B \-s
.I id
] ...
deprecated usage
.BI ipcrm
.RB { shm | msg | sem }
.IR id ...
.SH DESCRIPTION
.I 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
.RB ( 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').
.SH OPTIONS
.TP
.BI \-M " shmkey"
removes the shared memory segment created with
.I shmkey
after the last detach is performed.
.TP
.BI \-m " shmid"
removes the shared memory segment identified by
.I shmid
after the last detach is performed.
.TP
.BI \-Q " msgkey"
removes the message queue created with
.IR msgkey .
.TP
.BI \-q " msgid"
removes the message queue identified by
.IR msgid .
.TP
.BI \-S " semkey"
removes the semaphore created with
.IR semkey .
.TP
.BI \-s " semid"
removes the semaphore identified by
.IR semid .
.LP
The details of the removes are described in
.IR msgctl (2),
.IR shmctl (2),
and
.IR semctl (2).
The identifiers and keys may be found by using
.IR ipcs (1).
.SH NOTES
In its first Linux implementation, ipcrm used the deprecated syntax
shown in the
.BR 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.
.\" .SH AUTHORS
.\" Andre C. Mazzone (linuxdev@karagee.com)
.\" .br
.\" Krishna Balasubramanian (balasub@cis.ohio-state.edu)
.SH SEE ALSO
.nh
.BR ipcs (1),
.BR ipcmk (1),
.BR msgctl (2),
.BR msgget (2),
.BR semctl (2),
.BR semget (2),
.BR shmctl (2),
.BR shmdt (2),
.BR shmget (2),
.BR ftok (3)
.SH AVAILABILITY
The ipcrm command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.