PFIND(9)               FreeBSD Kernel Developer's Manual              PFIND(9)

NAME

     pfind, pfind_any, pfind_any_locked - locate a process by number

SYNOPSIS

     #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);

DESCRIPTION

     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.

SEE ALSO

     pget(9), pgfind(9)

AUTHORS

     This manual page was written by Evan Sarmiento <kaworu@sektor7.ath.cx>.

FreeBSD 15.1-STABLE-HBSD       November 3, 2025                       PFIND(9)