1.ps

ps命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和它所运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。总之大部分信息都是可以通过执行该命令得到的。ps命令最常用来监控后台进程的工作情况,因为后台进程是不和屏幕、键盘这些标准输入/输出设备进行通信的,所以如果需要检测后台情况,就需要使用ps命令了。它的格式如下所示:

格式:ps[选项]

其主要选项如下。

-a:显示系统中所有进程的信息。

-e:显示所有进程的信息。

-f:显示进程的所有信息。

-l:以长格式显示进程信息。

-r:只显示正在运行的进程。

-u:显示面向用户的格式(包括用户名、CPU及内存的使用情况等信息)。

-x:显示所有非控制终端上的进程信息。

-p:显示由进程ID指定的进程信息。

-t:显示指定终端上的进程信息。

要对进程进行监测和控制,首先要了解当前进程的情况,当然也就需要查看当前进程的状态了。通过ps命令查看进程,根据所显示的信息可以了解哪个进程正在运行、哪个进程被挂起了、进程已运行了多久、进程正在使用的资源、进程的相对优先级,以及进程的标志号(PID)。所有这些信息对用户都很有用,对于系统管理员来说尤为重要。使用ps-aux命令可以获得终端上所有用户的有关进程的所有信息,这个也是我们平时用得最多的命令之一,如下所示:

USER:表示启动进程的用户。

PID:表示进程标志号。

%CPU:表示运行该进程占用CPU的时间与该进程总的运行时间之比。

%MEM:表示该进程占用内存与总内存之比。

VSZ:表示占用的虚拟内存大小,以KB为单位。

RSS:为进程占用的物理内存值,以KB为单位。

TTY:表示该进程建立时所对应的终端,“?”表示该进程不占用终端。

STAT:表示进程的运行状态。包括以下几种代码:D,不可中断的睡眠;R,就绪(在可运行队列中);S,睡眠;T,被跟踪或停止;Z,终止(僵死)的进程,这些进程不存在,但暂时无法消除;W,没有足够的内存分页可分配;<,高优先级的进程;N,低优先级的进程;L,有内存分页分配并锁在内存体内(实时系统或I/O)。

START:为进程开始时间。

TIME:为执行的时间。

COMMAND:是对应的命令名。

由于ps执行后结果太多了,所以我们一般会带上grep参数来精确定位我们需要的进程号。例如,我们要查看Nginx占用的进程,可以用命令ps-axu|grep nginx,如下所示: