Skip to content
Mach trap#-46

svc · mach trap -46

pid_for_task

Reverse lookup that returns the BSD PID associated with a Mach task port.

Prototype

kern_return_t pid_for_task(/* 2 args */);

Returns: kern_return_t

Version history

XNU tagmacOS#
xnu-123.5macOS 10.0 Cheetah-45
xnu-201macOS 10.1 Puma-45
xnu-344macOS 10.2 Jaguar-45
xnu-517macOS 10.3 Panther-45
xnu-792macOS 10.4 Tiger-46
xnu-1228macOS 10.5 Leopard-46
xnu-1456.1.26macOS 10.6 Snow Leopard-46
xnu-1699.24.8macOS 10.7 Lion-46
xnu-2050.18.24macOS 10.8 Mountain Lion-46
xnu-2422.115.4macOS 10.9 Mavericks-46
xnu-2782.40.9macOS 10.10 Yosemite-46
xnu-3247.1.106macOS 10.11 El Capitan-46
xnu-3789.1.32macOS 10.12 Sierra-46
xnu-4570.1.46macOS 10.13 High Sierra-46
xnu-4903.221.2macOS 10.14 Mojave-46
xnu-6153.11.26macOS 10.15 Catalina-46
xnu-7195.50.7.100.1macOS 11.0 Big Sur-46
xnu-8019.41.5macOS 12.0 Monterey-46
xnu-8792.41.9macOS 13.0 Ventura-46
xnu-10002.1.13macOS 14.0 Sonoma-46
xnu-11215.1.10macOS 15.0 Sequoia-46
xnu-11417.101.15macOS 15.4 Sequoia-46
xnu-12377.1.9macOS 26.0 Tahoe-46
xnu-10002.41.9—-46
xnu-10002.61.3—-46
xnu-10002.81.5—-46
xnu-10063.101.15—-46
xnu-10063.121.3—-46
xnu-10063.141.1—-46
xnu-11215.41.3—-46
xnu-11215.61.5—-46
xnu-11215.81.4—-46
xnu-11417.121.6—-46
xnu-11417.140.69—-46
xnu-1228.0.2—-46
xnu-1228.12.14—-46
xnu-1228.15.4—-46
xnu-1228.3.13—-46
xnu-1228.5.18—-46
xnu-1228.5.20—-46
xnu-1228.7.58—-46
xnu-1228.9.59—-46
xnu-12377.101.15—-46
xnu-12377.41.6—-46
xnu-12377.61.12—-46
xnu-12377.81.4—-46
xnu-124.1—-45
xnu-124.13—-45
xnu-124.7—-45
xnu-1486.2.11—-46
xnu-1504.15.3—-46
xnu-1504.3.12—-46
xnu-1504.7.4—-46
xnu-1504.9.17—-46
xnu-1504.9.26—-46
xnu-1504.9.37—-46
xnu-1699.22.73—-46
xnu-1699.22.81—-46
xnu-1699.24.23—-46
xnu-1699.26.8—-46
xnu-1699.32.7—-46
xnu-201.14—-45
xnu-201.19—-45
xnu-201.19.3—-45
xnu-201.42.3—-45
xnu-201.5—-45
xnu-2050.22.13—-46
xnu-2050.24.15—-46
xnu-2050.48.11—-46
xnu-2050.7.9—-46
xnu-2050.9.2—-46
xnu-2422.1.72—-46
xnu-2422.100.13—-46
xnu-2422.110.17—-46
xnu-2422.90.20—-46
xnu-2782.1.97—-46
xnu-2782.10.72—-46
xnu-2782.20.48—-46
xnu-2782.30.5—-46
xnu-3247.10.11—-46
xnu-3248.20.55—-46
xnu-3248.30.4—-46
xnu-3248.40.184—-46
xnu-3248.50.21—-46
xnu-3248.60.10—-46
xnu-344.12.2—-45
xnu-344.2—-45
xnu-344.21.73—-45
xnu-344.21.74—-45
xnu-344.23—-45
xnu-344.26—-45
xnu-344.32—-45
xnu-344.34—-45
xnu-344.49—-45
xnu-3789.21.4—-46
xnu-3789.31.2—-46
xnu-3789.41.3—-46
xnu-3789.51.2—-46
xnu-3789.60.24—-46
xnu-3789.70.16—-46
xnu-4570.20.62—-46
xnu-4570.31.3—-46
xnu-4570.41.2—-46
xnu-4570.51.1—-46
xnu-4570.61.1—-46
xnu-4570.71.2—-46
xnu-4903.231.4—-46
xnu-4903.241.1—-46
xnu-4903.270.47—-46
xnu-517.11.1—-45
xnu-517.12.7—-45
xnu-517.3.15—-45
xnu-517.3.7—-45
xnu-517.7.21—-45
xnu-517.7.7—-45
xnu-517.9.4—-45
xnu-517.9.5—-45
xnu-6153.101.6—-46
xnu-6153.121.1—-46
xnu-6153.141.1—-46
xnu-6153.41.3—-46
xnu-6153.61.1—-46
xnu-6153.81.5—-46
xnu-7195.101.1—-46
xnu-7195.121.3—-46
xnu-7195.141.2—-46
xnu-7195.60.75—-46
xnu-7195.81.3—-46
xnu-792.1.5—-46
xnu-792.10.96—-46
xnu-792.12.6—-46
xnu-792.13.8—-46
xnu-792.17.14—-46
xnu-792.18.15—-46
xnu-792.2.4—-46
xnu-792.21.3—-46
xnu-792.22.5—-46
xnu-792.24.17—-46
xnu-792.25.20—-46
xnu-792.6.22—-46
xnu-792.6.56—-46
xnu-792.6.61—-46
xnu-792.6.70—-46
xnu-792.6.76—-46
xnu-8019.61.5—-46
xnu-8019.80.24—-46
xnu-8020.101.4—-46
xnu-8020.121.3—-46
xnu-8020.140.41—-46
xnu-8792.61.2—-46
xnu-8792.81.2—-46
xnu-8796.101.5—-46
xnu-8796.121.2—-46
xnu-8796.141.3—-46

Notes

pid_for_task is the symmetric counterpart to task_for_pid: given any flavor of task port (control, read, inspect, or name) it returns the BSD process identifier the task is bound to, or -1 / KERN_FAILURE if the port has been invalidated. It is the canonical bridge between the Mach side of the kernel (where everything is a port) and the BSD side (where everything is a PID), and is used by libproc, sysmond, and most profiling tools when they receive a task port from MIG and need to correlate it with /proc-style state.

Detection

No Endpoint Security event. DTrace mach_trap::pid_for_task:entry is observable but extremely high volume in tooling-heavy workloads.

Related APIs

task_for_pidtask_name_for_pidtask_read_for_pidproc_pidinfo