BSD syscall#20
svc · unix #20
getpid
Returns the process ID of the calling process.
Prototype
int getpid(void);Returns: int
Version history
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 20 |
| xnu-1699.24.8 | macOS 10.7 Lion | 20 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | 20 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | 20 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 20 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 20 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 20 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 20 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 20 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 20 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 20 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 20 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 20 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 20 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 20 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 20 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 20 |
| 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