`pgrep` 是一个在类 Unix 系统(包括 Linux)中用来根据名称、状态和其他属性查找并显示进程 ID(PID)的命令行工具。它是 `procps` 或 `procps-ng` 软件包的一部分,大多数 Linux 发行版都会预装这个工具。以下是使用 `pgrep` 的一些基本方法和选项:
基本用法
pgrep [选项] 模式
- **模式**:这是你要匹配的进程名称或正则表达式。`pgrep` 会查找与该模式匹配的进程名称。
常用选项
-l, --list-name:除了 PID,还显示进程的名称。
-f, --full:模式不仅匹配进程名,还匹配完整的命令行,这对于匹配带有参数的进程特别有用。
-u, --euid 用户名:按照有效用户ID查找进程。
-n, --newest:只显示最新(最近创建)的匹配进程的PID。
-o, --oldest:只显示最旧(最早创建)的匹配进程的PID。
-P, --parent 父PID:查找指定父进程的子进程。
-g, --pgroup 进程组ID:查找指定进程组的进程。
-t, --terminal 终端设备:查找在指定终端上启动的进程。
-x, --exact:要求模式精确匹配进程名。
实例
1. **查找名为 sshd 的所有进程的 PID**:
pgrep sshd
2. **查找名为 sshd 并且显示进程名称**:
pgrep -l sshd
3. **查找所有属于用户 www-data 的进程**:
pgrep -u www-data
4. **查找名为 apache2 的最新进程的 PID**:
pgrep -n apache2
5. **查找包含关键词 "python" 的完整命令行的进程**:
pgrep -f python
通过组合这些选项,你可以非常灵活地定位和操作系统中的进程。需要注意的是,如果你有权限管理进程,可以配合 `pkill` 命令来发送信号给这些进程,比如终止它们。