IPCRM(1)                         User Commands                        IPCRM(1)

       ipcrm - remove certain IPC resources

       ipcrm [options]

       ipcrm {shm|msg|sem} id...

       ipcrm 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.

       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

       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').

       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).

       -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.

       -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.

       -V, --version
              Display version information and exit.

       -h, --help
              Display help text and exit.

       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.

       ipcmk(1), ipcs(1), msgctl(2), msgget(2), semctl(2), semget(2),
       shmctl(2), shmdt(2), shmget(2), ftok(3), sysvipc(7)

       The ipcrm command is part of the util-linux package and is available
       from Linux Kernel Archive ⟨https://www.kernel.org/pub/linux/utils/util-

util-linux                         July 2014                          IPCRM(1)