---
name: "procdesc"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/procdesc/4freebsd"
---

# procdesc(4freebsd)

process descriptor facility

## NAME

**procdesc** – process descriptor facility

## DESCRIPTION

**procdesc** is a file-descriptor-oriented interface to process signalling and control, which supplements historic UNIX [fork(2)](/fork/2.md), [kill(2)](/kill/2.md), and [wait4(2)](/wait4/2.md) primitives with new system calls such as [pdfork(2)](/pdfork/2.md), [pdkill(2)](/pdkill/2.md), and pdwait4(2). **procdesc** is designed for use with [capsicum(4)](/capsicum/4.md), replacing process identifiers with capability-oriented references. However, it can also be used independently of [capsicum(4)](/capsicum/4.md), displacing PIDs, which may otherwise suffer from race conditions. Given a process descriptor, it is possible to query its conventional PID using [pdgetpid(2)](/pdgetpid/2.md).

## SEE ALSO

[fork(2)](/fork/2.md), [kill(2)](/kill/2.md), [pdfork(2)](/pdfork/2.md), [pdgetpid(2)](/pdgetpid/2.md), [pdkill(2)](/pdkill/2.md), pdwait4(2), [kqueue(2)](/kqueue/2.md), [wait4(2)](/wait4/2.md), [capsicum(4)](/capsicum/4.md)

## HISTORY

**procdesc** first appeared in FreeBSD 9.0, and was developed at the University of Cambridge.

## AUTHORS

**procdesc** was developed by Robert Watson ⟨*rwatson@FreeBSD.org*⟩ and Jonathan Anderson ⟨*jonathan@FreeBSD.org*⟩ at the University of Cambridge, and Ben Laurie ⟨*benl@FreeBSD.org*⟩ and Kris Kennaway ⟨*kris@FreeBSD.org*⟩ at Google, Inc.
