| Current File : //usr/man/zh_CN.UTF-8/man1/pgrep.1 |
'\" te
.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
.TH pgrep 1 "2004 年 5 月 6 日" "SunOS 5.11" "用户命令"
.SH 名称
pgrep, pkill \- 通过名称及其他属性查找进程或发送进程信号
.SH 用法概要
.LP
.nf
\fBpgrep\fR [\fB-flvx\fR] [\fB-n\fR | \fB-o\fR] [\fB-d\fR \fIdelim\fR] [\fB-P\fR \fIppidlist\fR]
[\fB-g\fR \fIpgrplist\fR] [\fB-s\fR \fIsidlist\fR] [\fB-u\fR \fIeuidlist\fR] [\fB-U\fR \fIuidlist\fR]
[\fB-G\fR \fIgidlist\fR] [\fB-J\fR \fIprojidlist\fR] [\fB-t\fR \fItermlist\fR]
[\fB-T\fR \fItaskidlist\fR] [\fB-c\fR \fIctidlist\fR] [\fB-z\fR \fIzoneidlist\fR]
[\fIpattern\fR]
.fi
.LP
.nf
\fBpkill\fR [\fB-\fIsignal\fR\fR] [\fB-fvx\fR] [\fB-n\fR | \fB-o\fR] [\fB-P\fR \fIppidlist\fR]
[\fB-g\fR \fIpgrplist\fR] [\fB-s\fR \fIsidlist\fR] [\fB-u\fR \fIeuidlist\fR] [\fB-U\fR \fIuidlist\fR]
[\fB-G\fR \fIgidlist\fR] [\fB-J\fR \fIprojidlist\fR] [\fB-t\fR \fItermlist\fR]
[\fB-T\fR \fItaskidlist\fR] [\fB-c\fR \fIctidlist\fR] [\fB-z\fR \fIzoneidlist\fR]
[\fIpattern\fR]
.fi
.SH 描述
.sp
.LP
\fBPgrep\fR 实用程序检查系统上的活动进程,并报告属性与命令行中指定标准相匹配的进程 \fBID\fR。每个进程 \fBID\fR 打印为一个十进制值,并通过分隔符与下个 \fBID\fR 分隔,其缺省为换行符。对于每个属性选项,用户可以在命令行上指定一组可能值,由逗号分隔。例如,
.sp
.in +2
.nf
\fBpgrep -G other,daemon\fR
.fi
.in -2
.sp
.sp
.LP
与其真实组 \fBID\fR 为 \fBother\fR \fBOR\fR \fBdaemon\fR 的进程相匹配。如果指定多个标准选项,\fBpgrep\fR 与其属性符合标准选项的逻辑 \fBAND\fR 的进程相匹配。例如,
.sp
.in +2
.nf
\fBpgrep -G other,daemon -U root,daemon\fR
.fi
.in -2
.sp
.sp
.LP
与其属性为以下项的进程相匹配:
.br
.in +2
(真实组 \fBID\fR 为 \fBother\fR \fBOR\fR \fBdaemon\fR)\fBAND\fR
.in -2
.br
.in +2
(真实用户 \fBID\fR 为 \fBroot\fR \fBOR\fR \fBdaemon\fR)
.in -2
.sp
.LP
\fBPkill\fR 与 \fBpgrep\fR 功能几乎相同,除了由 \fBkill\fR(1) 向每个匹配进程发送信号,而不是打印其进程 \fBID\fR。信号名称或数字可以指定为 \fBpkill\fR 的第一个命令行选项。
.SH 选项
.sp
.LP
支持以下选项:
.sp
.ne 2
.mk
.na
\fB\fB-c\fR \fIctidlist\fR\fR
.ad
.RS 17n
.rt
仅与其合同 ID 位于列表中的进程相匹配。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-d\fR \fIdelim\fR\fR
.ad
.RS 17n
.rt
指定要在每个匹配进程 \fBID\fR 之间打印的输出分隔符字符串。如果没有指定 \fB-d\fR 选项,缺省值为换行符。\fB-d\fR 选项仅当指定为 \fBpgrep\fR 的选项时才有效。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-f\fR\fR
.ad
.RS 17n
.rt
常规表达\fI模式\fR应与完整进程参数字符串匹配(从 \fB/proc/\fInnnnn\fR/psinfo\fR 文件的 \fBpr_psargs\fR 字段获取)。如果没有指定 \fB-f\fR 选项,表达模式仅匹配可执行文件的名称(从 \fB/proc/\fInnnnn\fR/psinfo\fR 文件的 \fBpr_fname\fR 字段获取)。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-g\fR \fIpgrplist\fR\fR
.ad
.RS 17n
.rt
仅与其组 \fBID\fR 位于给定列表中的进程相匹配。如果组 0 包括在列表中,则解释为 \fBpgrep\fR 或 \fBpkill\fR 进程的组 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-G\fR \fIgidlist\fR\fR
.ad
.RS 17n
.rt
仅与其真实组 \fBID\fR 位于给定列表中的进程相匹配。每个组 \fBID\fR 可以指定为组名或数字组 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-J\fR \fIprojidlist\fR\fR
.ad
.RS 17n
.rt
仅与其项目 \fBID\fR 位于给定列表中的进程相匹配。每个项目 \fBID\fR 可以指定为项目名或数字项目 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-l\fR\fR
.ad
.RS 17n
.rt
长输出格式。打印每个匹配进程的名称和进程 \fBID\fR。根据是否指定 \fB-f\fR 选项(请参见上文),从 \fBpr_psargs\fR 或 \fBpr_fname\fR 字段获取进程名。\fB-l\fR 选项仅当指定为 \fBpgrep\fR 的选项时才有效。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-n\fR\fR
.ad
.RS 17n
.rt
仅与符合所有其他指定匹配标准的最新(最新创建的)进程相匹配。不能和选项 \fB-o\fR 同时使用。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-o\fR\fR
.ad
.RS 17n
.rt
仅与符合所有其他指定匹配标准的最旧(最早创建的)进程相匹配。不能和选项 \fB-n\fR 同时使用。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-P\fR \fIppidlist\fR\fR
.ad
.RS 17n
.rt
仅与其父进程 \fBID\fR 位于给定列表中的进程相匹配。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-s\fR \fIsidlist\fR\fR
.ad
.RS 17n
.rt
仅与其进程会话 \fBID\fR 位于给定列表中的进程相匹配。如果 \fBID\fR 0 包括在列表中,则解释为\fB pgrep\fR 或 \fBpkill\fR 进程的会话 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-t\fR \fItermlist\fR\fR
.ad
.RS 17n
.rt
仅匹配与给定列表中的终端相关联的进程。每个终端将指定为 \fB/dev\fR 中终端设备路径名 "dev/" 的后缀。例如,\fBterm/a\fR 或 \fBpts/0\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-T\fR \fItaskidlist\fR\fR
.ad
.RS 17n
.rt
仅与其任务 \fBID\fR 位于给定列表中的进程相匹配。如果 \fBID\fR 0 包括在列表中,则解释为 \fBpgrep \fR 或 \fBpkill\fR 进程的任务 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-u\fR \fIeuidlist\fR\fR
.ad
.RS 17n
.rt
仅与其有效用户 \fBID\fR 位于给定列表中的进程相匹配。每个用户 \fBID\fR 可以指定为登录名或数字用户 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-U\fR \fIuidlist\fR\fR
.ad
.RS 17n
.rt
仅与其真实用户 \fBID\fR 位于给定列表中的进程相匹配。每个用户 \fBID\fR 可以指定为登录名或数字用户 \fBID\fR。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-v\fR\fR
.ad
.RS 17n
.rt
逆向读取匹配。匹配所有进程,\fB除了\fR符合指定匹配标准的进程。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-x\fR\fR
.ad
.RS 17n
.rt
仅将其参数字符串或可执行文件名与指定\fI模式\fR\fB完全\fR匹配的进程视为匹配进程。当进程参数字符串或可执行文件名中的所有字符都与模式匹配时,才将该模式匹配视为完全匹配。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-z\fR \fIzoneidlist\fR\fR
.ad
.RS 17n
.rt
仅与其区域 \fBID\fR 位于给定列表中的进程相匹配。每个区域 \fBID\fR 可以指定为区域名或数字区域 \fBID\fR。此选项仅在全局区域中执行时有效。如果 \fBpkill\fR 功能用于向其他区域中的进程发送信号,该进程必须已声明 \fB{PRIV_PROC_ZONE}\fR 特权(请参见 \fBprivileges\fR(5))。
.RE
.sp
.ne 2
.mk
.na
\fB\fB-\fR\fIsignal\fR\fR
.ad
.RS 17n
.rt
指定发送到每个匹配进程的信号。如果未指定信号,将缺省发送 \fBSIGTERM\fR。\fIsignal\fR 的值可以是 \fBsignal.h\fR(3HEAD) 中定义的一个符号名称,没有 \fBSIG\fR 前缀,或者是对应信号数字的十进制值。\fB-\fR\fIsignal\fR 选项仅当指定为 \fBpkill\fR 的第一个选项时才有效。
.RE
.SH 操作数
.sp
.LP
支持下列操作数:
.sp
.ne 2
.mk
.na
\fB\fIpattern\fR\fR
.ad
.RS 11n
.rt
指定扩展常规表达 (Extended Regular Expression, \fBERE\fR) 模式,以匹配可执行文件名或完整进程参数字符串。有关 \fBERE\fR 语法的完整说明,请参见\fBregex\fR(5)。
.RE
.SH 示例
.LP
\fB示例 1 \fR获取进程 ID
.sp
.LP
获取 \fBsendmail\fR 的进程 \fBID\fR:
.sp
.in +2
.nf
example% \fBpgrep -x -u root sendmail\fR
283
.fi
.in -2
.sp
.LP
\fB示例 2 \fR终止进程
.sp
.LP
终止最新创建的 \fBxterm\fR:
.sp
.in +2
.nf
example% \fBpkill -n xterm\fR
.fi
.in -2
.sp
.SH 退出状态
.sp
.LP
将返回以下退出值:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 5n
.rt
一个或多个进程匹配。
.RE
.sp
.ne 2
.mk
.na
\fB\fB1\fR\fR
.ad
.RS 5n
.rt
无进程匹配。
.RE
.sp
.ne 2
.mk
.na
\fB\fB2\fR\fR
.ad
.RS 5n
.rt
指定的命令行选项无效。
.RE
.sp
.ne 2
.mk
.na
\fB\fB3\fR\fR
.ad
.RS 5n
.rt
发生了致命错误。
.RE
.SH 文件
.sp
.ne 2
.mk
.na
\fB\fB/proc/\fInnnnn\fR/psinfo\fR\fR
.ad
.RS 22n
.rt
进程信息文件
.RE
.SH 属性
.sp
.LP
有关下列属性的说明,请参见 \fBattributes\fR(5):
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
属性类型属性值
_
可用性system/core-os
.TE
.SH 另请参见
.sp
.LP
\fBkill\fR(1)、\fBproc\fR(1)、\fBps\fR(1)、\fBtruss\fR(1)、\fBkill\fR(2)、\fBsignal.h\fR(3HEAD)、\fBproc\fR(4)、\fBattributes\fR(5)、\fBprivileges\fR(5)、\fBregex\fR(5)、\fBzones\fR(5)
.SH 附注
.sp
.LP
这两个实用程序将 \fBERE\fR \fIpattern\fR 参数与 \fB/proc/\fR\fInnnnn\fR\fB/psinfo\fR 文件的 \fBpr_fname\fR 或 \fBpr_psargs\fR 字段进行匹配。这些字符串的长度根据 \fB<sys/procfs.h>\fR 中的定义进行限制。如果模式可匹配比当前限制长的字符串,则可能无法匹配指定的进程集。
.sp
.LP
如果 \fIpattern\fR 参数包含 \fBERE\fR 元字符(同时也是 shell 元字符),可能需要使用适当的 shell 引号将此模式括起来。
.sp
.LP
从不使用 \fBpgrep\fR 或 \fBpkill\fR 匹配死进程。
.sp
.LP
当前 \fBpgrep\fR 或 \fBpkill\fR 进程绝不会将自身视为可能匹配。