显示进程状态 ps
ps
命令是“process status”的缩写,类似于 windows 的任务管理器ps
命令用于显示当前系统的进程状态。
通常搭配kill
指令随时中断、删除不必要的程序。
同时呢,ps
命令是非常强大的进程查看命令,可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分【Windows】任务管理器的信息都是可以通过执行该命令得到的。
语法
1 | $ ps [参数] |
常用参数
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au显示较详细的资讯
- -aux显示所有包含其他使用者的行程
其中aux的输出信息如下所示:
1 | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND |
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的内存使用率
- VSZ: 占用的虚拟内存大小
- RSS: 占用的内存大小
- TTY: 终端的minor装置号码
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的内存分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有内存分页分配并锁在内存内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
几个实例
默认情况
1 | $ ps |
什么参数都不跟的话,基本输出没啥用处。
显示所有进程
通常情况下,最常用的为把所有进程显示出来:
1 | $ ps -aux |
把所有进程显示出来,并输出到ps.txt文件:
1 | $ ps -aux > ps.txt |
查找特定进程信息
大部分情况下,希望查找有问题的进程或者感兴趣的进程,使用管道如下:
1 | $ ps -aux | grep ssh |