命令行大全

pgrep

瑞兹 发表于 2020-11-10 16:27浏览次数:

在类Unix的操作系统上,pgrep命令根据完整或部分进程名或其他指定属性搜索系统上当前运行的进程。

查看英文版

目录:

1 pgrep 运行系统环境

2 pgrep 描述

3 pgrep 语法

4 pgrep 例子

pgrep 运行系统环境

Linux

pgrep 描述

pgrep浏览当前正在运行的进程,并列出与选择标准匹配到stdout的进程ID。所有条件都必须匹配。例如,

pgrep -u root ssh

...只会列出被称为进程sshd的,并拥有root。另一方面,

pgrep -u root,daemon

...将列出root OR daemon拥有的进程

pkill将向每个进程发送指定的信号(默认为SIGTERM),而不是在标准输出中列出它们。

pgrep looks through the currently running processes and lists the process IDs which matches the selection criteria to stdout. All the criteria have to match. For example,

pgrep -u root ssh

...will only list the processes that are called sshd and are owned by root. On the other hand,

pgrep -u root,daemon

...will list the processes owned by root OR daemon.

pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on standard output.

查看英文版

查看中文版

pgrep 语法

pgrep [options] pattern
pkill [options] pattern

选件

-signal- signal signal (仅限pkill。)定义要发送到每个匹配进程的信号。可以使用数字或符号信号名称。
-c,-- count (仅限pgrep。)禁止正常输出;而是打印匹配过程的数量。当count不匹配任何内容时,例如返回零,该命令将返回非零值。
-d,-delimiter delimiter (仅限pgrep。)设置用于定界输出中每个进程ID的字符串(默认为换行符)。
-f,-full 该模式通常仅与进程名称匹配。当-f被设置时,充分的命令行被使用。
-g,-- pgroup pgrp  ... 仅匹配列出的进程组ID中的进程。进程组0转换为pgreppkill自己的进程组。
-G--group gid  ... 仅匹配列出了真实组ID的进程。可以使用数值或符号值。
-l,-- list-name (仅限pgrep。)列出进程名称以及进程ID。
-n,-newest 仅选择最新的(最近启动的)匹配过程。
-o,-- oldest 仅选择最旧的(最近启动的)匹配过程。
-P--parent PPID  ... 仅匹配列出其父进程ID的进程。
-s,-- session sid  ... 仅匹配列出了进程会话ID的进程。会话ID 0转换为pgreppkill自己的会话ID。
-t,-terminal sid ... 仅匹配列出了控制终端的进程。终端名称应不带“ / dev / ”前缀。
-u,-- euid euid  ... 仅匹配列出了有效用户ID的进程。可以使用数值或符号值。
-U--uid UID  ... 仅匹配列出了真实用户ID的进程。可以使用数值或符号值。
-v,-- inverse 否定匹配。此选项通常在pgrep上下文中使用。在pkill上下文中,禁用short选项,以避免意外使用该选项。
-x,-- exact 仅匹配名称(或命令行,如果指定-f)与模式完全匹配的进程。
-F,-- pidfile file 文件中读取PID 。对于pkill,此选项可能比pgrep更有用。
-L,-- logpidfile 如果pidfile(请参见-F)未锁定,则失败。
-V,-- version 显示版本信息并退出。
-h--help 显示帮助消息并退出。
pattern 指定扩展正则表达式以与进程名称或命令行匹配。
pgrep [options] pattern
pkill [options] pattern

Options

-signal--signal signal (pkill only.) Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used.
-c--count (pgrep only.) Suppress normal output; instead print a count of matching processes. When count does not match anything, e.g., returns zero, the command will return non-zero value.
-d--delimiter delimiter (pgrep only.) Sets the string used to delimit each process ID in the output (by default a newline).
-f--full The pattern is normally only matched against the process name. When -f is set, the full command line is used.
-g--pgroup pgrp,... Only match processes in the process group IDs listed. Process group 0 is translated into pgrep's or pkill's own process group.
-G--group gid,... Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used.
-l--list-name (pgrep only.) List the process name as well as the process ID.
-n--newest Select only the newest (most recently started) of the matching processes.
-o--oldest Select only the oldest (least recently started) of the matching processes.
-P--parent ppid,... Only match processes whose parent process ID is listed.
-s--session sid,... Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep's or pkill's own session ID.
-t--terminal term,... Only match processes whose controlling terminal is listed. The terminal name should be specified without the "/dev/" prefix.
-u--euid euid,... Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used.
-U--uid uid,... Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.
-v--inverse Negates the matching. This option usually used in pgrep context. In pkill context the short option is disabled to avoid accidental usage of the option.
-x--exact Only match processes whose name (or command line if -f is specified) exactly match the pattern.
-F--pidfile file Read PID's from file. This option is perhaps more useful for pkill than pgrep.
-L--logpidfile Fail if pidfile (see -F) not locked.
-V--version Display version information and exit.
-h--help Display a help message and exit.
pattern Specifies an Extended Regular Expression for matching against the process names or command lines.

查看英文版

查看中文版

pgrep 例子

pgrep -u root named

查找named(name daemon)进程的进程ID 。

pkill -HUP syslogd

HUP信号发送到syslogd,这将迫使它重新读取其配置文件。

renice +4 $(pgrep firefox)

让所有的Firefox进程中运行,更好用的值4。此命令说明了pgrep的输出可以作为输入传递给其他实用程序的方式。在这种情况下,命令pgrep firefox作为参数传递给renice,因为它包含在$()中。

pgrep -u root named

Find the process ID of the named (name daemon) process.

pkill -HUP syslogd

Send the HUP signal to syslogd, which forces it to re-read its configuration file.

renice +4 $(pgrep firefox)

Make all firefox processes run nicer by a value of 4. This command illustrates the way pgrep's output can be passed to other utilities as input. In this case, the command pgrep firefox is passed as an argument to renice because it is enclosed in $( ).

查看英文版

查看中文版