xref: /freebsd/share/man/man9/pfind.9 (revision 07d78399eb7994d45338f58a331dae9fb8fe1023)
117a3206cSRuslan Ermilov.\" Copyright (c) 2001 Evan Sarmiento.
217a3206cSRuslan Ermilov.\" All rights reserved.
317a3206cSRuslan Ermilov.\"
417a3206cSRuslan Ermilov.\" Redistribution and use in source and binary forms, with or without
517a3206cSRuslan Ermilov.\" modification, are permitted provided that the following conditions
617a3206cSRuslan Ermilov.\" are met:
717a3206cSRuslan Ermilov.\" 1. Redistributions of source code must retain the above copyright
817a3206cSRuslan Ermilov.\"    notice, this list of conditions and the following disclaimer.
917a3206cSRuslan Ermilov.\" 2. Redistributions in binary form must reproduce the above copyright
1017a3206cSRuslan Ermilov.\"    notice, this list of conditions and the following disclaimer in the
1117a3206cSRuslan Ermilov.\"    documentation and/or other materials provided with the distribution.
1217a3206cSRuslan Ermilov.\"
1317a3206cSRuslan Ermilov.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1417a3206cSRuslan Ermilov.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1517a3206cSRuslan Ermilov.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1617a3206cSRuslan Ermilov.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1717a3206cSRuslan Ermilov.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1817a3206cSRuslan Ermilov.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1917a3206cSRuslan Ermilov.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2017a3206cSRuslan Ermilov.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2117a3206cSRuslan Ermilov.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2217a3206cSRuslan Ermilov.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2317a3206cSRuslan Ermilov.\" SUCH DAMAGE.
2417a3206cSRuslan Ermilov.\"
25*07d78399SYan-Hao Wang.Dd December 3, 2024
2617a3206cSRuslan Ermilov.Dt PFIND 9
27aa12cea2SUlrich Spörlein.Os
2817a3206cSRuslan Ermilov.Sh NAME
2917a3206cSRuslan Ermilov.Nm pfind , zpfind
3017a3206cSRuslan Ermilov.Nd locate a process by number
3117a3206cSRuslan Ermilov.Sh SYNOPSIS
32f16b3c0dSChad David.In sys/param.h
3317a3206cSRuslan Ermilov.In sys/proc.h
3417a3206cSRuslan Ermilov.Ft "struct proc *"
3517a3206cSRuslan Ermilov.Fn pfind "pid_t pid"
3617a3206cSRuslan Ermilov.Ft "struct proc *"
37*07d78399SYan-Hao Wang.Fn pfind_any "pid_t pid"
38*07d78399SYan-Hao Wang.Ft "struct proc *"
39*07d78399SYan-Hao Wang.Fn pfind_any_locked "pid_t pid"
4017a3206cSRuslan Ermilov.Sh DESCRIPTION
4117a3206cSRuslan Ermilov.Fn pfind
4217a3206cSRuslan Ermilovtakes a
4317a3206cSRuslan Ermilov.Fa pid
4417a3206cSRuslan Ermilovas its argument and returns a pointer to the
4517a3206cSRuslan Ermilov.Vt proc
4617a3206cSRuslan Ermilovstructure whose PID is specified in the argument only if the
4717a3206cSRuslan Ermilov.Fa pid
4817a3206cSRuslan Ermilovis on the
4917a3206cSRuslan Ermilov.Va allproc
5017a3206cSRuslan Ermilovlist.
5117a3206cSRuslan Ermilov.Pp
52*07d78399SYan-Hao Wang.Fn pfind_any
5317a3206cSRuslan Ermilovtakes a
5417a3206cSRuslan Ermilov.Fa pid
5517a3206cSRuslan Ermilovas its argument.
56*07d78399SYan-Hao Wang.Fn pfind_any
57*07d78399SYan-Hao Wangsearches the
58*07d78399SYan-Hao Wang.Va allproc
59*07d78399SYan-Hao Wanglist and returns the first process whose PID matches and whose state is
60*07d78399SYan-Hao Wang.Va PRS_ZOMBIE .
6117a3206cSRuslan Ermilov.Pp
62*07d78399SYan-Hao Wang.Fn pfind_any_locked
63*07d78399SYan-Hao Wangis similar to
64*07d78399SYan-Hao Wang.Fn pfind_any
65*07d78399SYan-Hao Wang,but it does not lock the process hash bucket
66*07d78399SYan-Hao Wangfor the given
67*07d78399SYan-Hao Wang.Vt pid .
68*07d78399SYan-Hao WangInstead, it asserts the corresponding process hash bucket is already locked.
69*07d78399SYan-Hao WangAll three functions
70*07d78399SYan-Hao Wang.Fn pfind ,
71*07d78399SYan-Hao Wang.Fn pfind_any ,
7217a3206cSRuslan Ermilovand
73*07d78399SYan-Hao Wang.Fn pgfind_any_locked
7417a3206cSRuslan Ermilovlock the
7517a3206cSRuslan Ermilov.Vt proc
76*07d78399SYan-Hao Wangstructure before returning.
7717a3206cSRuslan Ermilov.Sh RETURN VALUES
78*07d78399SYan-Hao Wang.Fn pfind ,
79*07d78399SYan-Hao Wang.Fn pfind_any ,
8017a3206cSRuslan Ermilovand
81*07d78399SYan-Hao Wang.Fn pfind_any_locked
82*07d78399SYan-Hao Wangreturn pointer to a
8317a3206cSRuslan Ermilov.Vt proc
84*07d78399SYan-Hao Wangstructure on success or
8517a3206cSRuslan Ermilov.Dv NULL
8617a3206cSRuslan Ermilovon failure.
87b6843982SJoseph Koshy.Sh SEE ALSO
88b6843982SJoseph Koshy.Xr pgfind 9
8917a3206cSRuslan Ermilov.Sh AUTHORS
90571dba6eSHiten PandyaThis manual page was written by
918a7314fcSBaptiste Daroussin.An Evan Sarmiento Aq Mt kaworu@sektor7.ath.cx .
92