要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令.
使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;
如果想对进程持续监控,应该用 top 工具。
如果直接用ps命令,会显示所有进程的状态,通常结合grep命令查看某进程的状态。
ps aux输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
格式说明:
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态,linux的进程有5种状态:
D 不可中断的休眠状态 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 休眠 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
注: 其它状态还包括s(进程领导者,有子进程), <(高优先级进程), N(低优先级进程), L(Lock,内存锁页), l(多进程的), +(后台).
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令