命令详解
ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态
linux上进程有5种状态:
- 运行(正在运行或在运行队列中等待)
- 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
- 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
- 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死
命令格式
ps [options]
常见参数
|
|
显示数据
执行 px -aux
12USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.1 123704 4300 ? Ss 22:30 0:01 /usr/lib/systemd/systemd说明
123456789101112131415USER: 进程拥有者PID : 进程号%CPU:进程使用掉的 CPU 资源百分比%MEM:进程所占用的物理内存百分比VSZ :进程使用掉的虚拟内存量 (Kbytes)RSS :进程占用的固定的内存量 (Kbytes)TTY :进程是在那个终端机上面运作,若与终端机无关,则显示 ?STAT:该程序目前的状态,主要的状态有R :进程目前正在运作,或者是可被运作S :进程目前正在睡眠当中 。T :进程目前正在侦测或者是停止了Z :进程应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态START:进程 被触发启动的时间TIME :进程 实际使用 CPU 运作的时间COMMAND:进程的实际指令
常见用法
- ps aux
显示现行终端机下的所有程序,包括其他用户的程序。 - ps -aux
显示所有进程。 - ps -ef
列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 - ps -ax -o pid,%cpu,%mem –sort=-%cpu,-%mem | head -10
显示cpu以及内存占用最高的10个进程 - ps -axjf = pstree
树形显示 - watch -n 1
ps -aux --sort -pmem, -pcpu
定时监控进程