ps(Process Status)命令是linux中最常见的命令之一,它用来列出当前系统运行中的进程的状态信息。当然了,它只显示命令执行时的进程状态,如果想要动态列出状态信息,可以选择使用top命令。那么通过ps命令我们能够知道进程的哪些信息呢?下面进行介绍。
命令基本介绍
命令格式
ps命令基本格式为: ps [options]
常用参数
-A 显示所有进程(同-e) -a 显示当前终端的所有进程 -u 显示进程的用户信息 -o 以用户自定义形式显示进程信息 -f 显示程序间的关系
对于更多参数的介绍,可使用命令man ps查看linux常用命令,这里不再赘述。
字段含义
在介绍实例之前linux常用命令,需要先了解一下ps命令输出各字段的含义,这样我们才能更好地理解所展示的信息。常见字段的基本含义如下:
USER%20进程所有者的用户名 PID%20进程号 START%20进程激活时间 %CPU%20进程自最近一次刷新以来所占用的CPU时间和总时间的百分比 %MEM%20进程使用内存的百分比 VSZ%20进程使用的虚拟内存大小,以K为单位 RSS%20驻留空间的大小。显示当前常驻内存的程序的K字节数。 TTY%20进程相关的终端 STAT%20进程状态,包括下面的状态: D%20不可中断%20Uninterruptible%20sleep%20(usually%20IO) R%20正在运行,或在队列中的进程 S%20处于休眠状态 T%20停止或被追踪 Z%20僵尸进程 W%20进入内存交换(从内核2.6开始无效) X%20死掉的进程 <%20高优先级 N%20低优先级 L%20有些页被锁进内存 s%20包含子进程 \+%20位于后台的进程组; l%20多线程,克隆线程 TIME%20进程使用的总CPU时间 COMMAND%20被执行的命令行 NI%20进程的优先级值,较小的数字意味着占用较少的CPU时间 PRI%20进程优先级。 PPID%20父进程ID WCHAN%20进程等待的内核事件名
常见用法
下面来看看一些常见用法。
显示所有进程信息
ps -A PID%20TTY%20TIME%20CMD 1%20?%2000:00:03%20systemd 2%20?%2000:00:00%20kthreadd 4%20?%2000:00:00%20kworker/0:0H 6%20?%2000:00:00%20mm_percpu_wq 7%20?%2000:00:00%20ksoftirqd/0 8%20?%2000:00:02%20rcu_sched 9%20?%2000:00:00%20rcu_bh 10%20?%2000:00:00%20migration/0 11%20?%2000:00:00%20watchdog/0 (内容较多,其他部分略过。)
虽然能显示所有进程,但是显示的信息却不多,基本只显示了进程id和进程名,有时候并不实用。
显示所有进程基本信息
相关参数-e
ps%20-ef UID%20PID%20PPID%20C%20STIME%20TTY%20TIME%20CMD root%201%200%200%2010:52%20?%2000:00:03%20/sbin/init%20splash root%202%200%200%2010:52%20?%2000:00:00%20[kthreadd] root%204%202%200%2010:52%20?%2000:00:00%20[kworker/0:0H] root%206%202%200%2010:52%20?%2000:00:00%20[mm_percpu_wq] root%207%202%200%2010:52%20?%2000:00:00%20[ksoftirqd/0] root%208%202%200%2010:52%20?%2000:00:02%20[rcu_sched] root%209%202%200%2010:52%20?%2000:00:00%20[rcu_bh] root%2010%202%200%2010:52%20?%2000:00:00%20[migration/0] (内容较多,其他部分略过。)
上一个教程:Linux常用基本命令:grep