在网上查了很多关于ps的资料,并没有找到英文的全名,通过man ps查看手册,有个这样的字符串SIMPLE PROCESS SELECTION,我姑且认为ps的全名为process selection。
1、ps命令格式:
ps 参数
ps命令参数很多,我整理了一些常用的出来。以下列一些常用的参数:
-l :long 表示显示进程的更多信息,包括PID,PPID等
-A:All 显示所有的进程
f:显示进程之间的关系树
x:列出进程的STAT和启动的详细命令
u:主要是能以百分比方式显示CPU使用率和内存使用率
参数之间可以结合使用,但是如果参数前有加”-“,表示在跟上参数的时候要加上”-“;没有”-“的,就不用加,否则会出现不一样的结果。例如-A和u结合,就使用ps u -A就可以了。我刚一开始也被弄的头晕晕的。
2、命令测试
不带参数
ps
linux下ps命令测试截图1
不带参数的话,显示当前终端下的进程,看上图,信息非常简单。就是一个bash(当前远程连接的终端),一个ps(就是上面执行的ps命令产生的进程)
使用-l查看进程更详细的信息
ps -l
linux下ps命令测试截图2
和上面的相比较,多了不少信息。信息的相关含义如下:
F:process flags 进程标识。
S:state 进程状态。其中D表示uninterruptible sleep;R表示runing或者runnable;S表示sleeping;T表示stop或者traced,进程停止或追踪状态;Z表示Zombie,僵尸进程。
UID:user id 进程拥有者的编号。
PID:process id 进程编号。
PPID:parent process id 父进程编号。
C:cpu使用率。
PRI:priority 进程的优先执行权,数值越高,优先权越小。
TTY:表示终端的设备编号
TIME:使用cpu的时间
CMD:进程的运行命令
从上图可以看到ps进程的父进程就是bash这个进程。接下来使用f参数查看进程之间的关系,这样更明显。
使用f查看进程之间的树关系
ps f
linux下ps命令测试截图3
看上面的图:上面红色框中,ps f进程就是bash的子进程;下面一个框内是我在机器上运行的一个python服务端程序,也很容易看出所属关系。
使用-A查看所有进程
这个参数能查看系统所有的进程,通常可以和-l或者u配合使用,看看消耗比较大的进程。-l上面有介绍了,这里用u做示例。
ps u -A
linux下ps命令测试截图4
进程太多了,以上只是部分进程截图。
使用x查看进程的启动完整命令
ps x
linux下ps命令测试截图5
上面红色框的内容就是我在电脑上运行的一个服务器程序,就是用python s.py启动的。
各参数之间结合使用就有很多种情况了,大家可以根据需要自己组合。只要把握-A这个核心,配合其它参数,基本能搞定服务器进程问题了,这也是我在-A参数的说明上加上高亮色的原因了。另外我试了下-l和u不能同时使用。