man-pages/man1/ipcrm.1.html
2021-03-31 01:06:50 +01:00

198 lines
5.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of IPCRM</TITLE>
</HEAD><BODY>
<H1>IPCRM</H1>
Section: User Commands (1)<BR>Updated: July 2014<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
ipcrm - remove certain IPC resources
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>ipcrm</B>
[options]
<P>
<B>ipcrm</B>
{<B>shm</B>|<B>msg</B>|<B>sem</B>}
<I>id</I>...
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<B>ipcrm</B>
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.
<P>
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
(<B><A HREF="/cgi-bin/man/man2html?2+shmdt">shmdt</A></B>(2))
the object from their virtual address space.
<P>
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.
<P>
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').
<P>
The details of the removes are described in
<B><A HREF="/cgi-bin/man/man2html?2+shmctl">shmctl</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+msgctl">msgctl</A></B>(2),
and
<B><A HREF="/cgi-bin/man/man2html?2+semctl">semctl</A></B>(2).
The identifiers and keys can be found by using
<B><A HREF="/cgi-bin/man/man2html?1+ipcs">ipcs</A></B>(1).
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT id="1"><B>-a</B>, <B>--all</B> [<B>shm</B>] [<B>msg</B>] [<B>sem</B>]<DD>
Remove all resources. When an option argument is provided, the removal is
performed only for the specified resource types. <I>Warning!</I> Do not use
<B>-a</B>
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.
<DT id="2"><B>-M</B>,<B> --shmem-key </B><I>shmkey</I>
<DD>
Remove the shared memory segment created with
<I>shmkey</I>
after the last detach is performed.
<DT id="3"><B>-m</B>,<B> --shmem-id </B><I>shmid</I>
<DD>
Remove the shared memory segment identified by
<I>shmid</I>
after the last detach is performed.
<DT id="4"><B>-Q</B>,<B> --queue-key </B><I>msgkey</I>
<DD>
Remove the message queue created with
<I>msgkey</I>.
<DT id="5"><B>-q</B>,<B> --queue-id </B><I>msgid</I>
<DD>
Remove the message queue identified by
<I>msgid</I>.
<DT id="6"><B>-S</B>,<B> --semaphore-key </B><I>semkey</I>
<DD>
Remove the semaphore created with
<I>semkey</I>.
<DT id="7"><B>-s</B>,<B> --semaphore-id </B><I>semid</I>
<DD>
Remove the semaphore identified by
<I>semid</I>.
<DT id="8"><B>-V</B>,<B> --version</B>
<DD>
Display version information and exit.
<DT id="9"><B>-h</B>,<B> --help</B>
<DD>
Display help text and exit.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>NOTES</H2>
In its first Linux implementation, <B>ipcrm</B> used the deprecated syntax
shown in the second line of the
<B>SYNOPSIS</B>.
Functionality present in other *nix implementations of <B>ipcrm</B> 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.
<A NAME="lbAG">&nbsp;</A>
<H2>SEE ALSO</H2>
<B><A HREF="/cgi-bin/man/man2html?1+ipcmk">ipcmk</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+ipcs">ipcs</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?2+msgctl">msgctl</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+msgget">msgget</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+semctl">semctl</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+semget">semget</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+shmctl">shmctl</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+shmdt">shmdt</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?2+shmget">shmget</A></B>(2),
<B><A HREF="/cgi-bin/man/man2html?3+ftok">ftok</A></B>(3)
<A NAME="lbAH">&nbsp;</A>
<H2>AVAILABILITY</H2>
The ipcrm command is part of the util-linux package and is available from
Linux Kernel Archive
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="10"><A HREF="#lbAB">NAME</A><DD>
<DT id="11"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="12"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="13"><A HREF="#lbAE">OPTIONS</A><DD>
<DT id="14"><A HREF="#lbAF">NOTES</A><DD>
<DT id="15"><A HREF="#lbAG">SEE ALSO</A><DD>
<DT id="16"><A HREF="#lbAH">AVAILABILITY</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:17 GMT, March 31, 2021
</BODY>
</HTML>