在 Linux 系统下,查看进程的命令有很多,最常用且最基础的是 ps 和 top。以下是不同场景下常用的查看方法汇总:
1. 实时动态查看进程
命令:top这是最常用的实时监控工具,类似于 Windows 的任务管理器。
- 如果系统安装了
htop,直接输入 htop。它比 top 更直观,支持鼠标操作,界面色彩更丰富。 - 安装方法:
yum install htop 或 apt install htop。
2. 静态查看当前进程
命令:psps 是“快照”式的查看,即显示你执行命令那一瞬间的进程状态。
-e-f:显示完整格式(UID, PID, PPID, C, STIME, TTY, TIME, CMD)。
au:以用户为主的格式显示(包含 CPU 和内存使用率)。x
3. 查找特定进程(结合 grep)
通常 ps 会配合管道符 | 和 grep 使用,用来查找某个特定的程序是否在运行。
- 查找 nginx 进程:注意:输出结果中通常会包含 grep 本身的那一行,如果不需要它,可以过滤掉:
ps -ef | grep nginx | grep -v grep
4. 查看进程树
命令:pstree如果想清晰地看到进程之间的父子关系:
如果需要显示 PID:
5. 完整查看所有进程信息
命令:pgrep和pidof如果你只想找某个进程的 PID,而不是看一大堆列表:
或者
总结
- 想看实时动态的 CPU/内存监控:用
top 或 htop。 - 想看瞬间的进程快照:用
ps -ef 或 ps aux。 - 想过滤出某个特定软件:用
ps -ef | grep 名字。 - 想看父子进程关系:用
pstree。在 Linux 中,管道符 |(Pipe)是命令行中最强大、最常用的功能之一。简单来说,它的作用是:将前一个命令的“输出结果”,直接作为后一个命令的“输入内容”。你可以把它想象成现实生活中的水管:水(数据)从第一个水龙头(命令)流出来,通过管子(|),流进下一个水池(命令)。以下是它的核心用法和经典场景:
1. 核心语法
2. 经典使用场景
当你查看的文件内容太多,或者进程列表太长,只想找特定的关键词时。
- 场景:查看当前运行的进程,但只关心
nginx 相关的。 - 用管道:解释:
ps -ef 的输出结果,不再直接打印到屏幕,而是流入了 grep nginx,由它筛选出包含 "nginx" 的行。
当一个命令输出几千行内容,屏幕一下子显示不完时。
3. 为什么它这么好用?
如果没有管道符,你需要这样做:
- 删除临时文件。管道符 | 瞬间完成了上面所有的步骤,且不占用硬盘空间(在内存中传输数据)。
4. 注意事项:错误信息无法通过管道
管道默认只传递标准输出,不传递标准错误。
- 例子:如果你尝试列出一个不存在的文件,并尝试 grep 它:
ls 不存在的文件.txt | grep ”test”
你会看到屏幕上报错 No such file or directory,但 grep 没有接收到任何东西。 因为报错信息直接打印到了屏幕,没有进入“水管”。
总结
管道符就是**“接力棒”**。当你觉得一个命令输出的结果太乱、太多、或者没法直接用的时候,就扔给下一个命令去处理!