Linux 系统中使用 ps -aux | grep 查找进程的教程

[复制链接]
发表于 2026-10-4 18:46:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

服务器进程多了以后,靠 top 一眼扫是扫不过来的,还是得能用 ps 精确抓出某个进程。这篇把 ps -aux 配合 grep 的过滤套路讲清楚,再补齐 kill、pkill、top -p 这几个收尾动作。

一、ps 是什么

ps(Process Status)用来打印当前系统进程快照。和 top 的实时刷新不同,ps 输出的是执行那一刻的静态结果,更适合脚本化处理。

二、常用选项

  • -a:显示所有用户的进程。
  • -u:以用户友好格式展示,含用户名、CPU、内存占用。
  • -x:显示没有关联终端的进程(后台进程)。

三者组合 ps -aux 就是最常用的一套,能看到 PID、用户、CPU/内存占比、启动时间、命令行等字段。

三、组合 grep 精确定位

ps -aux | grep 关键字

比如想找某个关键字出现的进程:

ps -aux | grep SnSniffer

输出类似:

user   1234  0.5  1.2 123456 7890 ?  S   12:34   0:00 /usr/bin/sniffer_demo

这里 1234 就是 PID。

四、一个小技巧:避免 grep 自己出现在结果里

grep 关键字 这条命令本身也是个进程,会混进结果。用字符类把关键字拆开就不自匹配了:

ps -aux | grep [S]nSniffer

这条在很多排查文档里都能看到,本质是利用 [S]nSniffer 匹配 SnSniffer 但字面不等于自身。

五、拿到 PID 之后

看更详细的信息

top -p 1234

实时盯住这个 PID 的 CPU 和内存变化,按 q 退出。

正常结束进程

kill 1234

强制结束

kill -9 1234

-9 是 SIGKILL,不给进程清理机会,只在正常信号无效时用。

按名字批量结束

pkill 关键字

六、两个常见卡点

  • 查不到:进程名跟你搜的不一致(可能有下划线、大小写不同),或者已经退出了。可以先 ps -aux | head 看一眼真实命令行再搜。
  • 权限不足:有些进程属于 root,普通用户看不到也管不了,加 sudo:sudo ps -aux | grep 关键字、sudo kill 1234。

七、顺手能接的几条命令

  • top / htop:实时看整体负载。
  • lsof -p 1234:看这个进程打开了哪些文件和端口。
  • systemctl status 服务名:如果是 systemd 服务,优先用服务管理而不是裸 kill。

把 ps 定位、grep 过滤、kill 收尾这三步串起来,绝大多数"进程异常"的问题都能先看清状况再动手。

qidao123.com企服评测-应用市场 编辑提示:本文为 Linux 进程查看与结束的命令整理,kill -9 与 pkill 会影响正在运行的服务,操作前请确认目标进程归属。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表