IPCS(1)
โจ ipcs โ bestie's guide to peeking at your IPC โจ
okay so this is the ipcs manual page from section 1 (User Commands), and I am so excited to tell you about it ๐
๐ธ NAME ๐ธ
ipcs โ show information on IPC facilities
like, it literally just shows you the tea on your System V IPC stuff ๐ซโจ
๐ SYNOPSIS ๐
ipcs [options]
that's it. that's the whole vibe. no positional args, just you and your options ๐
๐ฆ DESCRIPTION ๐ฆ
So ipcs shows information on System V inter-process communication facilities. By default it shows information about all three resources: shared memory segments</>, message queues</>, and semaphore arrays</>. All three, no cap, it's giving "I have no favourites" ๐
๐ OPTIONS ๐
-i,--idid โ Show full details on just the one resource element identified by id. This option needs to be combined with one of the three resource options:-m,-qor-s. (like it can't fly solo bestie, it needs a buddy ๐ซถ)-h,--helpโ Display help text and exit. classic.-V,--versionโ Display version and exit. also classic.
๐ Resource options ๐
-m,--shmemsโ Write information about active shared memory segments.-q,--queuesโ Write information about active message queues.-s,--semaphoresโ Write information about active semaphore sets.-a,--allโ Write information about all three resources (default). the "select everything" main character move โจ
๐ Output formats ๐
Of these options only one takes effect: the last one specified. so like, don't expect stacking, it's not a group chat, only the last one gets to speak ๐ญ
-c,--creatorโ Show creator and owner. who made it, who owns it, the whole origin story ๐-l,--limitsโ Show resource limits.-p,--pidโ Show PIDs of creator and last operator.-t,--timeโ Write time information. The time of the last control operation that changed the access permissions for all facilities, the time of the lastmsgsnd(2)andmsgrcv(2)operations on message queues, the time of the lastshmat(2)andshmdt(2)operations on shared memory, and the time of the lastsemop(2)operation on semaphores. it's giving timestamps for days โฐ-u,--summaryโ Show status summary. the TL;DR of the whole situation fr fr
๐ง Representation ๐ง
These affect only the-l(--limits) option. just so we're clear, they do NOTHING anywhere else, ok? ok.
-b,--bytesโ Print sizes in bytes rather than in human-readable form.
By default, sizes are shown in units that are powers of 1024 bytes. The formal abbreviations for these units (KiB, MiB, GiB, ...) are further shortened to just their first letter: K, M, G, .... so like, the nerdy full names get a lil haircut โ๏ธ
--humanโ Print sizes in human-readable format. the opposite vibe, we're being friendly to your eyeballs ๐
๐ CONFORMING TO ๐
ok so real talk, this is important: the Linux ipcs utility is not fully compatible to the POSIX ipcs utility. The Linux version does not support the POSIX -a, -b and -o options, but does support the -l and -u options not defined by POSIX. A portable application shall not use the -a, -b, -o, -l, and -u options.
so if you're writing portable code, bestie, pls don't touch-a,-b,-o,-l, or-u. that's the โจportability warningโจ of the day.
๐ฅ NOTES ๐ฅ
The current implementation of ipcs obtains information about available IPC resources by parsing the files in /proc/sysvipc.
Before util-linux version v2.23, an alternate mechanism was used: the IPC_STAT command of msgctl(2), semctl(2), and shmctl(2). This mechanism is also used in later util-linux versions in the case where /proc is unavailable.
A limitation of the IPC_STAT mechanism is that it can only be used to retrieve information about IPC resources for which the user has read permission. so like, if you can't read it, you can't see it. permission check said no ๐ซ
๐ AUTHORS ๐
Krishna Balasubramanian <balasub@cis.ohio-state.edu>
๐ซ SEE ALSO ๐ซ
ipcmk(1), ipcrm(1), msgrcv(2), msgsnd(2), semget(2), semop(2), shmat(2), shmdt(2), shmget(2), sysvipc(7)
go read those too, they're all part of the same friend group ๐ซถ
๐ REPORTING BUGS ๐
For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.
found something cursed? tell the maintainers, not me ๐ญ
โญ AVAILABILITY โญ
The ipcs command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
and that's the whole page bestie!! this was documented for util-linux 2.42.4 on 2026-09-21, from section 1 of the manual. now go check on your shared memory segments, they miss you ๐ ๐โจ
๐ฆ where this page comes from
- arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms