Skip to content
BSD syscall#20

svc · unix #20

getpid

Returns the process ID of the calling process.

Prototype

int getpid(void);

Returns: int

Version history

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard20
xnu-1699.24.8macOS 10.7 Lion20
xnu-2050.18.24macOS 10.8 Mountain Lion20
xnu-2422.115.4macOS 10.9 Mavericks20
xnu-2782.40.9macOS 10.10 Yosemite20
xnu-3247.1.106macOS 10.11 El Capitan20
xnu-3789.1.32macOS 10.12 Sierra20
xnu-4570.1.46macOS 10.13 High Sierra20
xnu-4903.221.2macOS 10.14 Mojave20
xnu-6153.11.26macOS 10.15 Catalina20
xnu-7195.50.7.100.1macOS 11.0 Big Sur20
xnu-8019.41.5macOS 12.0 Monterey20
xnu-8792.41.9macOS 13.0 Ventura20
xnu-10002.1.13macOS 14.0 Sonoma20
xnu-11215.1.10macOS 15.0 Sequoia20
xnu-11417.101.15macOS 15.4 Sequoia20
xnu-12377.1.9macOS 26.0 Tahoe20
xnu-10002.41.920
xnu-10002.61.320
xnu-10002.81.520
xnu-10063.101.1520
xnu-10063.121.320
xnu-10063.141.120
xnu-11215.41.320
xnu-11215.61.520
xnu-11215.81.420
xnu-11417.121.620
xnu-11417.140.6920
xnu-12377.101.1520
xnu-12377.41.620
xnu-12377.61.1220
xnu-12377.81.420
xnu-1486.2.1120
xnu-1504.15.320
xnu-1504.3.1220
xnu-1504.7.420
xnu-1504.9.1720
xnu-1504.9.2620
xnu-1504.9.3720
xnu-1699.22.7320
xnu-1699.22.8120
xnu-1699.24.2320
xnu-1699.26.820
xnu-1699.32.720
xnu-2050.22.1320
xnu-2050.24.1520
xnu-2050.48.1120
xnu-2050.7.920
xnu-2050.9.220
xnu-2422.1.7220
xnu-2422.100.1320
xnu-2422.110.1720
xnu-2422.90.2020
xnu-2782.1.9720
xnu-2782.10.7220
xnu-2782.20.4820
xnu-2782.30.520
xnu-3247.10.1120
xnu-3248.20.5520
xnu-3248.30.420
xnu-3248.40.18420
xnu-3248.50.2120
xnu-3248.60.1020
xnu-3789.21.420
xnu-3789.31.220
xnu-3789.41.320
xnu-3789.51.220
xnu-3789.60.2420
xnu-3789.70.1620
xnu-4570.20.6220
xnu-4570.31.320
xnu-4570.41.220
xnu-4570.51.120
xnu-4570.61.120
xnu-4570.71.220
xnu-4903.231.420
xnu-4903.241.120
xnu-4903.270.4720
xnu-6153.101.620
xnu-6153.121.120
xnu-6153.141.120
xnu-6153.41.320
xnu-6153.61.120
xnu-6153.81.520
xnu-7195.101.120
xnu-7195.121.320
xnu-7195.141.220
xnu-7195.60.7520
xnu-7195.81.320
xnu-8019.61.520
xnu-8019.80.2420
xnu-8020.101.420
xnu-8020.121.320
xnu-8020.140.4120
xnu-8792.61.220
xnu-8792.81.220
xnu-8796.101.520
xnu-8796.121.220
xnu-8796.141.320

Notes

PIDs on macOS are 32-bit, allocated incrementally, and wrap around at PID_MAX (99999 by default). The call is implemented as a vsyscall-style cached read in libsystem after first use, so subsequent invocations do not enter the kernel. After fork(), the child sees its new PID and the parent sees the same value it had before.

Related APIs

getppidgetpgidgetsidforkposix_spawn