linux中过滤指定进程需先用ps获取快照,再用grep或内置选项筛选:常用ps aux | grep 进程名;精准匹配用ps -c命令名;多用户场景加-u选项;避干扰可用正则或路径限定。

Linux 中用 ps 过滤指定进程,核心是“先列出、再筛选”——ps 本身负责抓取进程快照,grep 或 ps 内置选项负责定位目标。
按进程名快速过滤(最常用)
直接用 ps aux | grep 进程名,比如:
-
ps aux | grep nginx:查找所有含 “nginx” 的行(包括 grep 自身那条,可加-v grep排除) -
ps aux | grep '[r]edis':用字符组避开 grep 进程本身,更干净 -
ps -ef | grep java:适合看完整命令路径和父进程关系
用 ps 内置选项精准匹配(不依赖 grep)
避免误匹配或漏掉 grep 自身,可用 -C(精确匹配命令名)或 -f(全格式输出):
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
-
ps -C sshd:只显示命令名为sshd的进程(不含参数) -
ps -f -C crond:带详细格式显示crond进程的 UID、PPID、启动时间等 -
ps -C python3 -o pid,cmd,%cpu,%mem:自定义字段,只看 Python 进程的关键指标
按用户 + 进程名组合过滤
当多个用户运行同名程序时(如多个用户启了 node),需叠加条件:
-
ps -u alice -C node:只看用户 alice 的 node 进程 -
ps aux | awk '$1=="root" && $11 ~ /mysql/':用 awk 精确匹配 USER 列为 root 且命令含 mysql -
ps -u www-data,nginx -o user,pid,cmd:同时查多个用户的进程,并限制输出字段
排除干扰、提高准确性的小技巧
默认 grep 容易把自身也列出来,还可能匹配到无关字符串:
- 加空格或路径限定:
ps aux | grep '/usr/bin/python'比grep python更准 - 用正则避开 grep:
ps aux | grep '[m]yapp'(中括号让 grep 不匹配自己) - 加
--no-headers(部分系统支持)或用awk 'NR>1'跳过表头,方便脚本处理










