作用
ps 命令是Process Status的缩写,用于进程的监测和控制。
ps 命令是最基本进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。
ps 命令显示的是瞬间进程的状态,并不是动态连续的;如果想对进程进行实时监控可用top命令。
用法
命令格式
1 | ps [options] [--help] |
命令参数
1 | [root@hadoop-centos-01 ~]# ps --help simple |
1 | [root@hadoop-centos-01 ~]# ps --help list |
1 | [root@hadoop-centos-01 ~]# ps --help output |
1 | [root@hadoop-centos-01 ~]# ps --help threads |
1 | [root@hadoop-centos-01 ~]# ps --help misc |
用法示例
1 | To see every process on the system using standard syntax: |
附录
Linux上进程有5种状态
运行 – 正在运行或在运行队列中等待
中断 – 休眠中, 受阻, 在等待某个条件的形成或接受到信号
不可中断 – 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
僵死 – 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
停止 – 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
ps工具标识进程的5种状态码
- R 运行 runnable (on run queue)
- S 中断 sleeping
- D 不可中断 uninterruptible sleep (usually IO)
- Z 僵死 a defunct (”zombie”) process
- T 停止 traced or stopped
ps命令输出信息含义
表头 | 含义 |
---|---|
USER | 该进程是由哪个用户产生的。 |
PID | 进程的 ID。 |
%CPU | 该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源。 |
%MEM | 该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源。 |
VSZ | 该进程占用虚拟内存的大小,单位为 KB。 |
RSS | 该进程占用实际物理内存的大小,单位为 KB。 |
TTY | 该进程是在哪个终端运行的。其中,tty1 ~ tty7 代表本地控制台终端(可以通过 Alt+F1 ~ F7 快捷键切换不同的终端),tty1~tty6 是本地的字符界面终端,tty7 是图形终端。pts/0 ~ 255 代表虚拟终端,一般是远程连接的终端,第一个远程连接占用 pts/0,第二个远程连接占用 pts/1,依次増长。 |
STAT | 进程状态。常见的状态有以下几种:-D:不可被唤醒的睡眠状态,通常用于 I/O 情况。-R:该进程正在运行。-S:该进程处于睡眠状态,可被唤醒。-T:停止状态,可能是在后台暂停或进程处于除错状态。-W:内存交互状态(从 2.6 内核开始无效)。-X:死掉的进程(应该不会出现)。-Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。-<:高优先级(以下状态在 BSD 格式中出现)。-N:低优先级。-L:被锁入内存。-s:包含子进程。-l:多线程(小写 L)。-+:位于后台。 |
START | 该进程的启动时间。 |
TIME | 该进程占用 CPU 的运算时间,注意不是系统时间。 |
COMMAND | 产生此进程的命令名。 |