Linux 查看进程命令 ps 及输出风格参数

一.查看进程命令ps

1.1 默认ps 命令

  在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身。 上图中显示了程序的进程ID(1538,1583),它们运行在TTY终端, 以及进程已有的CPU(TIME)时间。

1.2 ps 风格以及参数
在Linux系统中使用的GNU ps命令支持3种不同类型的命令行参数。包括Unix风格的参数,BSD风格的参数,GNU风格的长参数。

二.  Unix风格参数

在ps中每种风格的参数都很多,下面例举一些常用的Unix风格的ps命令参数。下面表格还有很多参数没有列出来。

参数

 

描述

 

-A

 

显示所有进程

 

-N

 

显示与指定参数不符的所有进程

 

-a

 

显示除控制进程和无终端进程外的所有进程

 

-d

 

显示除控制进程外的所有进程

 

-e

 

显示所有进程

 

-C  cmdlist

 

显示包含在cmdlist列表中的进程

 

-f

 

显示完整格式的输出

 

-l

 

显示长列表

 

2.1 ps  –ef 参数组合命令   

  多数linux系统管理员都有自己的一组参数,来提取有用的进程信息。例如可用-ef 参数组合,如下图所示:

Linux 查看进程命令 ps 及输出风格参数

  在上面的列表中,输出的信息包括:UID列是指启动这些进程的用户。PID列是指进程ID。 PPID列是指:父进程ID(该进程是由另一个进程启动的)。 C列是指进程生命周期中的CUP利用率。 STIME列是指进程启动时的系统时间。TTY列是指进程启动时的终端设备。TIME列是指运行进程需要的累计CPU时间。CMD列是指启动的程序名称。  

2.2 ps –l  长列表

  如果想要获取更多的信息,可以采用-l参数,它会产生一个长格式的输出,如下图所示:

  上面的列表中,输出的信息包括:F列是指内核分配给进程的系统标记。S 是指进程状态(O是正在运行。S是休眠。R是可运行,正等待运行。Z是僵化,进程已结束但父进程已不存在,T是停止) 。 PRT列是指进程的优先级(越大数字表越低的优先级)。 NT列是指谦让度值,用来参与决定优先级。 ADDR列是指进程的内存地址。 SZ列是指假如进程被换出,所需的交换空间在大致大小。 WCHAN列是指进程休眠的内核函数的地址。

2.3 ps –ef|grep xx  查找进程

  命令grep是查找, 中间 | 是管道命令,代表ps与grep同时执行。grep是一种强大的文本搜索工具,它能使用正则搜索文件,并把匹配的行打印出来。下面是匹配与nginx字符有关的进程, 用grep过滤后进程信息列名也屏蔽了。

  

  下面命令加了l 长列表显示。

  上图第二列值是S,代表当前nginx进程是休眠状态,第三列uid是属于hsr用户。

三. BSD  风格参数

  BSD风格参数的ps命令参数常用如下(其它很多未列出)

参数

 

描述

 

r

 

仅显示运行中的进程

 

T

 

显示与当前终端关联的所有进程

 

a

 

显示与任意终端关联的所有进程

 

g

 

显示所有的进程,包括控制进程

 

l

 

采用长模式

 

  使用BSD参数时,ps命令会自动改变输出以模仿Unix格式。例如:使用参数l输出:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12482.html