Linux网络操作系统常用命令详解--ps命令


  Linux系统中ps命令可以生成一个当前进程的快照报告,即静态的显示当前处于活动状态的进程的信息,动态显示系统进程相关信息需要运行top命令。在Red Hat Linux Enterprise 6系统中ps命令可以处理几种不同形式的参数:Unix形式参数,参数前必须加短划线(-);BSD形式参数,参数前不需要加短划线;GNU形式参数,参数前必须加双短划线(--)。Ps命令虽然能接受处理不同形式的参数,但会给出警示提示信息,不影响命令的执行。ps命令的使用比较简单,但是显示的系统信息和任务列表信息的项目、类型比较多,并且多数是缩写形式,理解记忆比较麻烦,所以我们在此对这些信息进行归纳总结,以方便参考查阅。

  1. ps命令的使用

  运行ps命令1[root@localhost ~]# ps au //参数a:显示所有当前终端运行的进程;参数u:显示实际有效的用户的进程。

   运行ps命令2[root@localhost ~]# ps l //参数l:长格式显示进程的相关信息。

  2. ps命令显示信息详解

  ps命令的参数选项很多,在这儿仅就比较常见的ps命令显示信息项加以说明。

  表一:执行ps au命令显示选项解释

项目名称

项目说明

USER

用户名,进程的所有者

PID

进程ID号

%CPU

进程占用CPU时间的百分比

%MEM

进程占用内存空间的百分比

VSZ

进程占用虚拟内存空间的大小

RSS

进程占用实际内存空间的大小

TTY

启动进程的终端名

STAT

多字符表示的进程状态

START

进程开始的时间

TIME

进程运行累计占用的CPU时间

COMMAND

该进程的命令名或可执行程序的名称

  说明:(1)STAT进程状态取值的说明:D=不可中断的睡眠状态;R=正在运行;S(大写)=睡眠状态;T=被跟踪或停止状态;Z=僵尸进程;进程状态栏有时会显示多重字符,其它可能显示状态字符说明:< :高优先权进程;N:低优先权进程;L:为了实时常规I/O有内存页面被锁定;s(小写):当前进程还有子进程;l:多线程进程;+:前台进程。

  表二:执行ps l命令显示选项解释

项目名称

项目说明

F

进程的标志(PROCESS FLAGS)

UID

用户ID号

PID

见表一

PPID

当前进程的父进程ID

PRI

进程的优先权,其值越小,优先级就越高

NI

负值表示高优先级,正值表示低优先级。通过设置Nice值可以调整进程的优先级。

VSZ

见表一

RSS

见表一

WCHAN

若该进程在睡眠,则显示睡眠所处中的系统函数名,正在运行的进程显示’-’

STAT

见表一

TTY

见表一

TIME

见表一

COMMAND

见表一

  说明:(1)F进程标志取值说明:值1:派生的进程但是未执行;值4:使用超级用户权限;值5:1的二进制数是0001,4的二进制数是0100,如果ps命令显示的F值为5,即二进制0101,表示该进程既是派生进程,又同时使用超级用户权限;值0:表示既不是派生进程,也不使用超级用户权限。(2)派生进程fork:通过调用系统函数fork()创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的任务,但如果初始参数或者传入的变量不同,两个进程也可以做不同的任务。 

  参考文献:

  1. 关于Linux的 ps -l 命令,显示数据中F表示含义,https://blog.csdn.net/sjc214/article/details/47776709.