当前位置:首页>Linux>告别ps -ef | grep,Linux 进程查找神器pgrep实战手册

告别ps -ef | grep,Linux 进程查找神器pgrep实战手册

  • 2026-10-11 07:38:16
告别ps -ef | grep,Linux 进程查找神器pgrep实战手册
大家在日常的运维中,程序进程一般如何查找,我相信大部分人应该是使用ps -ef | grep java这个命令,这个输出冗余,还会自带grep本身的冗余结果,每次都要手动筛选,非常麻烦。
今天给大家介绍一个大部分人不太熟悉的冷门命令pgrep,它简洁高效、专门用于进程检索,无需复杂管道、无需过滤冗余内容,一条命令精准筛选进程pid、进程名,是linux运维、脚本自动化的刚需命令。
一、pgrep核心功能介绍
pgrep是linux系统内置的进程检索工具,全称process grep,专门用于根据进程名、用户、终端、父进程等条件,精准匹配运行中的进程并输出pid。
比传统ps + grep,优势极其明显:
•命令更简短:无需拼接管道,语法简洁,记忆成本极低
•结果更纯净:自动过滤grep自身进程干扰,无冗余输出
•功能更精准:支持正则匹配、多维度筛选进程
•适配脚本:输出结果规整,非常适合shell自动化运维
简单来说:只想查进程pid、筛选进程状态,直接用pgrep,完胜ps grep。
二、基础语法与默认规则
  1. 标准语法
pgrep [选项] 匹配模式
匹配模式:默认支持正则表达式,用于匹配进程名。
2. 常用参数
我整理了运维工作中大部分场景都会用到的pgrep参数。
  1. 基础查询:只查进程pid
查询系统中所有ssh进程的pid:
ps -ef |grep sshpgrep ssh
可以看出输出结果为纯pid列表,干净整洁,适合脚本读取。
2. 显示pid + 进程名(-l)
单纯看pid分不清进程,-l参数可同时输出pid和完整进程名,这个是日常使用最多的命令。
pgrep -l ssh
3.显示pid+完整命令行(-a)
如果你需要看到进程完整启动命令,包括路径、参数、配置文件等,使用 -a 参数:
pgrep -a dockerpgrep -a sshd
这个非常适合排查进程是如何启动的。
4.精确匹配(-x/f)
默认情况下pgrep是模糊匹配,比如搜ssh,会把sshd也搜出来。精准匹配进程名用-x:
pgrep sshprgep -x sshpgrep -x sshdpgrep -a -f sshd
这是我们日常维护排查脚本进程、Java 进程、后台任务必备参数。
5.统计进程数(-c)
直接输出匹配到的进程数量,无需手动计数
pgrep -c ssh
6.按照用户运行的进程(-u)
只查找指定用户运行的进程。
pgrep -u root docker
7.按照父进场筛选(-P)
查找指定父进程的子进程,在排查进程关系时比较方便。
pgrep -P 7513
8.自定义pid分隔符(-d)
脚本里批量 kill 进程特别好用
pgrep -d ":"  java
9.取同一个进程最新最旧进程(-n)
pgrep -n redis
-n:只输出最新启动的匹配进程pid
-o:只输出最旧启动的匹配进程pid
三、pgrep高频实战场景
场景 1:快速终止匹配进程(配合kill)
#终止所有docker进程kill $(pgrep docker)#杀死所有包含某脚本的进程kill $(pgrep -f cesi.py)
场景 2:监控指定用户的进程状态
#查看root用户的ssh进程详情pgrep -a -u root ssh
场景 3:脚本中判断服务是否运行
#检查docker是否运行,未运行则启动if [ -z "$(pgrep docker)" ]; then systemctl start docker fi #-z 代表shell测试表达式:判断字符串是否为空,为空则没有启动 
场景 4:排查带参数的异常进程
#查找所有命令行含nslookup的进程pgrep -f nslookup
五、注意事项
  1. 搜脚本、java进程一定要加 -f
  2. 精确匹配用-x,避免模糊命中
  3. 普通用户看不到其他用户的进程,使用需要加sudo
  4. 进程名太长(超过 15 字符)必须用 -f
  5. pgrep默认只匹配进程名,不匹配命令行
六、总结
想简洁明了的查看pid用pgrep,看完整进程信息用ps。pgrep是linux进程管理的轻量化神器,一行命令搞定pid查询,参数简单、场景实用,不管是运维排查问题,还是开发编写脚本,都能大幅提升效率。
下次如果遇到找进程pid,试试用pgrep,简洁又高效!
如果觉得文章你对的运维工作有帮助,记得点赞加收藏。
#运维    #linux运维     #pgrep   #进程检索

最新文章

随机文章