一、进程查看
静态查看命令:ps
ps aux <==查看系统所有的进程数据
ps -lA <==也是查看所有系统的进程数据
ps axjf <==连同部分进程数状态
参数:
-A:所有的进程均显示出来,与-e有相同的作用
-a:与terminal无关的所有进程
-u:与有效用户相关的进程
x:通常与a一起使用,可以列出较为完整的信息
输出格式:
l:较长、较详细的将该PID的信息列出
j:工作的格式
-f:做一个更为完整的输出
仅列出自己的bash相关进程:
ps -l
上图中,列出进程的格式为:
F S UID PIDPPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
F:是进程标志,表示该进程的权限,若为4表示权限为root,若为1表示该进程仅可复制,不能执行。
S:表示该进程的状态,若为R表示正在运行,S表示睡眠,T表示停止,D不可唤醒的睡眠状态,Z表示僵尸状态
列出系统的所有进程:
ps aux或
ps -lA
僵尸进程:僵尸进程是指进程已经执行完毕,但是仍在内存中,一般是因为该进程的父进程无法将该进程结束掉。如果某个进程的CMD后面还跟着<defunct>就表示该进程为僵尸进程。
top:动态地查看进程状态
top [-d 数字] :-d后跟秒数,表示进程界面多长时间更新一次,默认情况下更新时间为5s
top [-bnp]
-b:以批次的方式执行top命令
-n:与-b搭配,意义是需要进行几次的top的输出结果
-p:监测某个PID进程
top执行过程中可以使用的按键:
?:显示在top当中可以输入的按键
P(大写):以CPU使用率排序显示
M:以内存使用率排序显示
N:以PID排序显示
T:以该进程使用CPU的时间积累排序显示
k:给予某个PID一个信号,杀掉
q:离开
我们用top命令查看一下目前系统的进程状态:
图中需要注意的有:
第二行的zombie表示僵尸进程的数量,如果该值不是零就需要查找哪个进程是僵尸进程;
第三行的%wa表示I/Owait,系统变慢的原因往往都是I/O产生的问题;
第四行和第五行分别表示物理内存与虚拟内存(swap)的使用情况,swap的使用要尽量少,如果swap大量使用就表示物理内存不够用。
下面的每个进程使用资源的情况中,PR表示Priority,即优先级,该值越小优先级越高;NI表示Nice,与PR有关,也是越小越先执行。
如果想保存top的输出信息,使用top -b -n 2 > /tmp/top.txt就可以了。
pstree命令:查看进程树
pstree [-AUpu]
-A:各进程树之间以ASCII字符来连接
-U:各进程树之间以utf8字符来连接
-p:同时列出每个进程的PID
-u:同时列出每个进程的所属账号名称
例:pstree -Aup
从图中可以看出,所有的进程都是依附在init这个进程下面的,观察可发现该进程的进程号为1.它是Linux主动调用的第一个进程。其实该进程是一个内核启动的用户级进程,内核自启动之后第一个运行的就是init进程。