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.9—20
xnu-10002.61.3—20
xnu-10002.81.5—20
xnu-10063.101.15—20
xnu-10063.121.3—20
xnu-10063.141.1—20
xnu-11215.41.3—20
xnu-11215.61.5—20
xnu-11215.81.4—20
xnu-11417.121.6—20
xnu-11417.140.69—20
xnu-12377.101.15—20
xnu-12377.41.6—20
xnu-12377.61.12—20
xnu-12377.81.4—20
xnu-1486.2.11—20
xnu-1504.15.3—20
xnu-1504.3.12—20
xnu-1504.7.4—20
xnu-1504.9.17—20
xnu-1504.9.26—20
xnu-1504.9.37—20
xnu-1699.22.73—20
xnu-1699.22.81—20
xnu-1699.24.23—20
xnu-1699.26.8—20
xnu-1699.32.7—20
xnu-2050.22.13—20
xnu-2050.24.15—20
xnu-2050.48.11—20
xnu-2050.7.9—20
xnu-2050.9.2—20
xnu-2422.1.72—20
xnu-2422.100.13—20
xnu-2422.110.17—20
xnu-2422.90.20—20
xnu-2782.1.97—20
xnu-2782.10.72—20
xnu-2782.20.48—20
xnu-2782.30.5—20
xnu-3247.10.11—20
xnu-3248.20.55—20
xnu-3248.30.4—20
xnu-3248.40.184—20
xnu-3248.50.21—20
xnu-3248.60.10—20
xnu-3789.21.4—20
xnu-3789.31.2—20
xnu-3789.41.3—20
xnu-3789.51.2—20
xnu-3789.60.24—20
xnu-3789.70.16—20
xnu-4570.20.62—20
xnu-4570.31.3—20
xnu-4570.41.2—20
xnu-4570.51.1—20
xnu-4570.61.1—20
xnu-4570.71.2—20
xnu-4903.231.4—20
xnu-4903.241.1—20
xnu-4903.270.47—20
xnu-6153.101.6—20
xnu-6153.121.1—20
xnu-6153.141.1—20
xnu-6153.41.3—20
xnu-6153.61.1—20
xnu-6153.81.5—20
xnu-7195.101.1—20
xnu-7195.121.3—20
xnu-7195.141.2—20
xnu-7195.60.75—20
xnu-7195.81.3—20
xnu-8019.61.5—20
xnu-8019.80.24—20
xnu-8020.101.4—20
xnu-8020.121.3—20
xnu-8020.140.41—20
xnu-8792.61.2—20
xnu-8792.81.2—20
xnu-8796.101.5—20
xnu-8796.121.2—20
xnu-8796.141.3—20

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