STANNIX Community


Manual: ipcrm

IPCRM(1)						User Commands						    IPCRM(1)

NAME
       ipcrm - remove certain IPC resources

SYNOPSIS
       ipcrm [options]

       ipcrm [shm|msg|sem] ID ...

DESCRIPTION
       ipcrm removes POSIX and 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.

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

       The details of the removes are described in shmctl(2), shm_unlink(3), msgctl(2), mq_unlink(3), semctl(2), and
       sem_unlink(3). The identifiers and keys can be found by using lsipc(1) or ipcs(1).

OPTIONS
       -a, --all [shm] [pshm] [msg] [pmsg] [sem] [psem]
	   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.

       --posix-shmem name
	   Remove the POSIX shared memory segment created with name.

       -Q, --queue-key msgkey
	   Remove the message queue created with msgkey.

       -q, --queue-id msgid
	   Remove the message queue identified by msgid.

       --posix-mqueue name
	   Remove the POSIX message queue created with name.

       -S, --semaphore-key semkey
	   Remove the semaphore created with semkey.

       -s, --semaphore-id semid
	   Remove the semaphore identified by semid.

       --posix-semaphore name
	   Remove the POSIX named semaphore created with name.

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

       -V, --version
	   Display version and exit.

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

SEE ALSO
       ipcmk(1), ipcs(1), lsipc(1), msgctl(2), mq_unlink(3), msgget(2), semctl(2), semget(2), sem_unlink(3), shmctl(2),
       shmdt(2), shmget(2), shm_unlink(3), ftok(3), sysvipc(7)

REPORTING BUGS
       For bug reports, use the issue tracker .

AVAILABILITY
       The ipcrm command is part of the util-linux package which can be downloaded from Linux Kernel Archive
       .

util-linux 2.41.3					 2025-12-15						    IPCRM(1)