pfind(9)

pfind9

Locate a process by number

Usage

#include <sys/param.h>

#include <sys/proc.h>

struct proc *

pfind(pid_t pid);

struct proc *

pfind_any(pid_t pid);

struct proc *

pfind_any_locked(pid_t pid);

Overview

The pfind() function walks the list of processes in the system, looking for the one with a process ID of pid. If the process exists, and is not in the zombie state, a pointer to the process structure will be returned.

pfind_any() takes a pid as its argument. pfind_any() searches the allproc list and returns the first process with a matching PID, whose state may be PRS_ZOMBIE.

pfind_any_locked() is similar to pfind_any(), but it does not lock the process hash bucket for the given pid. Instead, it asserts the corresponding process hash bucket is already locked.

All three functions pfind(), pfind_any(), and pfind_any_locked() lock the proc structure before returning.

Return values

pfind(), pfind_any(), and pfind_any_locked() return pointer to a proc structure on success or NULL on failure.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 36 times.

  1. 5.0–5.1
  2. 5.2–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–14.5
  36. 15.0
  37. 15.1–16.0

Authors

This manual page was written by Evan Sarmiento ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.