pgrep - 按名称和属性查找进程

pgrep 根据进程名称和其他属性查找当前运行的进程,并将匹配的进程 ID 输出到标准输出。

常用参数

  • -d DELIMITER:指定多个进程 ID 之间的分隔符。
  • -f:使用完整命令行进行匹配,而不只匹配进程名称。
  • -l:同时显示进程 ID 和进程名称。
  • -a:同时显示进程 ID 和完整命令行。
  • -P PPID:只匹配指定父进程的子进程。
  • -u EUID:只匹配指定有效用户 ID 的进程。
  • -U UID:只匹配指定真实用户 ID 的进程。
  • -x:要求进程名称或命令行完全匹配。

使用示例

# 查找指定名称的进程 ID
pgrep nginx
 
# 使用空格分隔多个进程 ID
pgrep -d ' ' docker
 
# 显示进程 ID 和名称
pgrep -l nginx
 
# 显示进程 ID 和完整命令行
pgrep -a nginx
 
# 查找指定用户启动的 bash 进程
pgrep -u root bash
 
# 完整匹配进程名称
pgrep -x nginx

部分系统只使用 /proc/PID/stat 中有限长度的进程名称进行默认匹配。需要匹配完整启动参数时使用 -f,但应注意避免过宽的正则表达式。

参考资料