PROCDESC(4)
π PROCDESC(4) π
okay so bestie, we're in the Kernel Interfaces Manual, section 4 β this is the page for PROCDESC, and honestly? it's giving main character energy π¦
β¨ NAME β¨
procdesc β the process descriptor facility π
like, it's a whole facility. for process descriptors. iykyk.
πΈ DESCRIPTION πΈ
okay so picture this: procdesc is a file-descriptor-oriented interface to process signalling and control π
the way it works is β it supplements the historic Unix primitives fork(2), kill(2), and wait4(2) by adding shiny new system calls on top, namely pdfork(2), pdkill(2), and pdwait4(2) β¨
it's designed to be used with capsicum(4), and what it does there is replace process identifiers with capability-oriented references. iconic behavior honestly π
BUT β and this is the part people miss β it can also be used completely independently of capsicum(4) π« and when you do that, it's displacing PIDs, which may otherwise suffer from race conditions π like, PIDs are out here catching strays and procdesc is the friend who shows up with a better plan, no cap.
and the bestie detail: given a process descriptor, it is possible to query its conventional PID using pdgetpid(2) π«Ά so you never lose the thread of who's who.
π¦ SEE ALSO π¦
go read these next, bestie, they're all connected:
fork(2)kill(2)pdfork(2)pdgetpid(2)pdkill(2)pdwait4(2)kqueue(2)wait4(2)capsicum(4)
π HISTORY π
procdesc first appeared in FreeBSD 9.0 β and it was developed at the University of Cambridge π periodt.
π AUTHORS π
the legends who built procdesc:
- Robert Watson
<rwatson@FreeBSD.org>and Jonathan Anderson<jonathan@FreeBSD.org>β at the University of Cambridge π - Ben Laurie
<benl@FreeBSD.org>and Kris Kennaway<kris@FreeBSD.org>β at Google, Inc. π
ok that's the whole page bestie, you now know procdesc better than most of the internet π go forth and descriptor responsibly π§
this lil slice of docs comes from the Debian crew, dated October 14, 2018 β mwah π β¨πΈ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2013 Robert N. M. Watson
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms