b067ecc886
Often pidof is used in shell scripts in this form: if pidof daemon >/dev/null; then ... fi The redirection to /dev/null is needed because otherwise the script would output the found PIDs. Let's add a -q option which, similary to grep, just sets the exit code. Also exit on first match, as there is no reason to proceed further when at least a process is matched. Tested with: $ ./pidof bash 17701 14019 5276 2967 $ echo $? 0 $ ./pidof bashx $ echo $? 1 $ ./pidof -q bash $ echo $? 0 $ ./pidof -q bashx $ echo $? 1
83 lines
2.6 KiB
Groff
83 lines
2.6 KiB
Groff
'\" -*- coding: UTF-8 -*-
|
|
.\" Copyright (C) 1998 Miquel van Smoorenburg.
|
|
.\"
|
|
.\" This program is free software; you can redistribute it and/or modify
|
|
.\" it under the terms of the GNU General Public License as published by
|
|
.\" the Free Software Foundation; either version 2 of the License, or
|
|
.\" (at your option) any later version.
|
|
.\"
|
|
.\" This program is distributed in the hope that it will be useful,
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.\" GNU General Public License for more details.
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public License
|
|
.\" along with this program; if not, write to the Free Software
|
|
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
.\"
|
|
.TH PIDOF 1 "2020-12-22" "" "User Commands"
|
|
.SH NAME
|
|
pidof -- find the process ID of a running program
|
|
.SH SYNOPSIS
|
|
.B pidof
|
|
.RB [ \-s ]
|
|
.RB [ \-c ]
|
|
.RB [ \-q ]
|
|
.RB [ \-w ]
|
|
.RB [ \-x ]
|
|
.RB [ \-o
|
|
.IR omitpid[,omitpid...]... ]
|
|
.RB [ \-S
|
|
.IR separator ]
|
|
.B program
|
|
.RB [ program... ]
|
|
.SH DESCRIPTION
|
|
.B Pidof
|
|
finds the process id's (pids) of the named programs. It prints those
|
|
id's on the standard output.
|
|
.SH OPTIONS
|
|
.IP \-s
|
|
Single shot - this instructs the program to only return one \fIpid\fP.
|
|
.IP \-c
|
|
Only return process ids that are running with the same root directory.
|
|
This option is ignored for non-root users, as they will be unable to check
|
|
the current root directory of processes they do not own.
|
|
.IP \-q
|
|
Quiet mode, suppress any output and only sets the exit status accordingly.
|
|
.IP \-w
|
|
Show also processes that do not have visible command line (e.g. kernel
|
|
worker threads).
|
|
.IP \-x
|
|
Scripts too - this causes the program to also return process id's of
|
|
shells running the named scripts.
|
|
.IP "-o \fIomitpid\fP"
|
|
Tells \fIpidof\fP to omit processes with that process id. The special
|
|
pid \fB%PPID\fP can be used to name the parent process of the \fIpidof\fP
|
|
program, in other words the calling shell or shell script.
|
|
.IP "-S \fIseparator\fP"
|
|
Use \fIseparator\fP as a separator put between pids. Used only when
|
|
more than one pids are printed for the program.
|
|
The \fB\-d\fR option is an alias for this option for sysvinit
|
|
.B pidof
|
|
compatibility.
|
|
.SH "EXIT STATUS"
|
|
.TP
|
|
.B 0
|
|
At least one program was found with the requested name.
|
|
.TP
|
|
.B 1
|
|
No program was found with the requested name.
|
|
|
|
.SH BUGS
|
|
When using the \fI\-x\fP option,
|
|
.B pidof
|
|
only has a simple method for detecting scripts and will miss scripts that,
|
|
for example, use env. This limitation is due to how the scripts look in
|
|
the proc filesystem.
|
|
|
|
.SH SEE ALSO
|
|
.BR pgrep (1),
|
|
.BR pkill (1)
|
|
.SH AUTHOR
|
|
Jaromir Capik <jcapik@redhat.com>
|