ps

1. ps 命令

1.1. unix 风格命令

Unix风格的参数是从贝尔实验室开发的AT&T Unix系统上原有的ps命令继承下来的。这些参数如表4-1所示

参数 描述
-A 显示所有进程
-N 显示与指定参数不符的所有进程
-a 显示除控制进程(session leader1)和无终端进程外的所有进程
-d 显示除控制进程外的所有进程
-e 显示所有进程
-C *cmdlist* 显示包含在*cmdlist*列表中的进程
-G *grplist* 显示组ID在*grplist*列表中的进程
-U *userlist* 显示属主的用户ID在*userlist*列表中的进程
-g *grplist* 显示会话或组ID在*grplist*列表中的进程2
-p *pidlist* 显示PID在*pidlist*列表中的进程
-s *sesslist* 显示会话ID在*sesslist*列表中的进程
-t *ttylist* 显示终端ID在*ttylist*列表中的进程
-u *userlist* 显示有效用户ID在*userlist*列表中的进程
-F 显示更多额外输出(相对-f参数而言)
-O *format* 显示默认的输出列以及*format*列表指定的特定列
-M 显示进程的安全信息
-c 显示进程的额外调度器信息
-f 显示完整格式的输出
-j 显示任务信息
-l 显示长列表
-o *format* 仅显示由*format*指定的列
-y 不要显示进程标记(process flag,表明进程状态的标记)
-Z 显示安全标签(security context)3信息
-H 用层级格式来显示进程(树状,用来显示父进程)
-n *namelist* 定义了WCHAN列显示的值
-w 采用宽输出模式,不限宽度显示
-L 显示进程中的线程
-V 显示ps命令的版本号

1.2. BSD 风格

了解了Unix风格的参数之后,我们来一起看一下BSD风格的参数。伯克利软件发行版(Berkeley software distribution,BSD)是加州大学伯克利分校开发的一个Unix版本。它和AT&T Unix系统有许多细小的不同,这也导致了多年的Unix争论。BSD版的ps命令参数如表4-2所示

参数 描述
T 显示跟当前终端关联的所有进程
a 显示跟任意终端关联的所有进程
g 显示所有的进程,包括控制进程
r 仅显示运行中的进程
x 显示所有的进程,甚至包括未分配任何终端的进程
U *userlist* 显示归*userlist*列表中某用户ID所有的进程
p *pidlist* 显示PID在*pidlist*列表中的进程
t *ttylist* 显示所关联的终端在*ttylist*列表中的进程
O *format* 除了默认输出的列之外,还输出由*format*指定的列
X 按过去的Linux i386寄存器格式显示
Z 将安全信息添加到输出中
j 显示任务信息
l 采用长模式
o *format* 仅显示由*format*指定的列
s 采用信号格式显示
u 采用基于用户的格式显示
v 采用虚拟内存格式显示
N *namelist* 定义在WCHAN列中使用的值
O *order* 定义显示信息列的顺序
S 将数值信息从子进程加到父进程上,比如CPU和内存的使用情况
c 显示真实的命令名称(用以启动进程的程序名称)
e 显示命令使用的环境变量
f 用分层格式来显示进程,表明哪些进程启动了哪些进程
h 不显示头信息
k *sort* 指定用以将输出排序的列
n WCHAN信息一起显示出来,用数值来表示用户ID和组ID
w 为较宽屏幕显示宽输出
H 将线程按进程来显示
m 在进程后显示线程
L 列出所有格式指定符
V 显示ps命令的版本号

1.3. GNU 长参数

参数 描述
--deselect 显示所有进程,命令行中列出的进程
--Group *grplist* 显示组ID在*grplist*列表中的进程
--User *userlist* 显示用户ID在*userlist*列表中的进程
--group *grplist* 显示有效组ID在*grplist*列表中的进程
--pid *pidlist* 显示PID在*pidlist*列表中的进程
--ppid *pidlist* 显示父PID在*pidlist*列表中的进程
--sid *sidlist* 显示会话ID在*sidlist*列表中的进程
--tty *ttylist* 显示终端设备号在*ttylist*列表中的进程
--user *userlist* 显示有效用户ID在*userlist*列表中的进程
--format *format* 仅显示由*format*指定的列
--context 显示额外的安全信息
--cols *n* 将屏幕宽度设置为*n*列
--columns *n* 将屏幕宽度设置为*n*列
--cumulative 包含已停止的子进程的信息
--forest 用层级结构显示出进程和父进程之间的关系
--headers 在每页输出中都显示列的头
--no-headers 不显示列的头
--lines *n* 将屏幕高度设为*n*行
--rows *n* 将屏幕高度设为*n*排
--sort *order* 指定将输出按哪列排序
--width *n* 将屏幕宽度设为*n*列
--help 显示帮助信息
--info 显示调试信息
--version 显示ps命令的版本号

安装包

yum install procps