提示:以下是本篇文章正文内容,下面案例可供参考
更详细的可以通过man ps
查看
ps aux #查看系统所有的进程
ps -lA #查看所有系统的进程
ps axjf #连同部分进程树状态
选项参数:
-A :所有进程都显示出来, = -e
-a :不显示与终端相关的进程
-u :有效使用者相关的进程
x :通常和-a一起使用,可以显示出较为完整的信息
输出格式规划:
l :较长较详细的将该PID的信息列出
j :任务的格式
-f :做一个更为完整的输出
其中,如上图ps -l中,我们可以看看各参数含义:
F
:进程标识(Process flag),表示了进程权限,常见有:4进程权限为root,1表示子进程仅执行fork复制,而没有exec实际执行
S
:进程状态(STAT):R(Running),S(Sleep)可以被唤醒,D:不可唤醒的睡眠状态,通常这个进程在等待I/O的情况(ex>打印),T(STOP),Z(Zombie):僵尸状态,进程已经终止但是无法被删除至内存外
UID/PID/PPID
:此进程被该UID拥有,此进程的PID,此进程的父进程的PID
C
:CPU使用率,百分比
PRI/NI
:Priority/Nice,此进程被CPU执行的优先级
ADDR/SZ/WCHAN
:ADDR(kernel function)指出进程在内存的哪个部分,如果是runnning的进程,一般会显-;SZ表示该进程用掉了多少内存,WCHAN表示目前进程是否在运行,-表示在运行
TTY
:登录者终端位置,远程登录则是动态终端接口名字pts/n
TIME
:进程实际花费CPU时间
CMD
:command,造成此进程的触发进程的命令是什么
同理:ps aux我们就只做补充咯,就不一一介绍了,大家应该大致都能看得懂
%MEM
:该进程所占用的物理内存百分比
VSZ
:该进程使用掉的虚拟内存量(KB)
RSS
:该进程占用的固定内存量(KB)
此外,在这顺便介绍一下僵尸进程,唐怡佳在学到这一节前可是从来没听过这玩意儿呢,造成僵尸进程的原因就是该进程已经执行完毕,或者应该要终止了,但是该进程的父进程却无法完整的将该进程结束掉,而造成了该进程一直存在内存中,如果你发现在某个进程的CMD后面接着defunct,就代表该进程是僵尸进程,系统不稳定的时候就容易造成所谓的僵尸进程,可能是因为程序写的不好,也有可能是因为用户使用不规范。
top -d 数字 | top -bnp
选项参数:
-d :后面接秒数,整个进程界面更新的秒数,默认是5s
-b :以批量的方式执行top
-n :与-b搭配,意思是需要执行几次top的输出结果
-p :指定某些个PID来执行查看监测而已
具体的大家还是通过man top查看,小唐在这就不一一敲了
这是我执行 top -d 2
即每两秒更新一次top,查看整体信息
我们也可以top -b -n 2 > /tmp/top.txt
,将top命令执行2次,然后把输出的内容输出到/tmp/top.txt
再后面加上一个&
,就把我们上节学的融合进来了,如果我们想要执行好多次top命令,把它丢到后台执行,不失为一个好方法呢!
我们也可以仅查看单一进程
pstree -Aup
反正就是如果要找进程之间的相关性就直接使用pstree
,比如子进程找父进程就可以用,反正就是很清楚的啦~
本节介绍了在Linux下查看进程的一些相关命令,唐怡佳继续加油哇!!!!