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 im-
       mediate  (regardless  of whether any process still holds an IPC identi-
       fier 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 spec-
       ifies  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 ob-
       jects of all three types in a single command line, with objects  speci-
       fied either by key or by identifier (see below).  Both keys and identi-
       fiers may be specified in decimal, hexadecimal (specified with an  ini-
       tial '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  re-
       spect  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)

       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)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.