1、ps
[root@linux ~]# ps aux
[root@linux ~]# ps -lA
[root@linux ~]# ps axjf
-A:所有的进程都显示出来,与-e具有同样的作用
-a:与终端无关的所有进程
-u:有效用户(effective user)的相关进程
x :通常与a参数一起使用,可列出较完整的信息
输出格式:
l :较长,较详细的显示该PID的信息
j :作业的格式(jobs format)
-f:更为完整的输出
特别注意:
由于ps能够支持的OS类型相当多,所以它的参数非常多。
而且,是否加上-会差很多。
例子:
ps -l 将当前属于这次登录的PID与相关信息显示出来
[root@localhost ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 4662 4646 0 75 0 – 1218 wait pts/1 00:00:00 bash
4 R 0 6029 4662 0 77 0 – 1075 – pts/1 00:00:00 ps
# F:表示这个进程的标志(flag),4表示用户为超级用户。
# S:表示这个进程的状态(STAT)。
# PID:这个进程的ID,下面的PPID为父进程的ID。
# C:CPU使用的资源百分比
# PRI:Priority(优先级)的缩写。
# NI:Nice值
# ADDR 这是核心功能,指出该进程在内存的那一部分,如果是运行的进程一般都是“-”
# SZ:用掉的内存大小。
# WCHAN 当前进程是否正在运行,若为“-”表示正在运行。
# TTY:登录者的终端位置。
# TIME:用掉的CPU时间。
# CMD 所执行的命令。
范例2:ps aux 列出当前所有正在内存中的进程
范例3:ps -lA 以范例1的显示内容,显示出所有的进程
范例4:ps -axjf 列出类似进程数的进程显示
范例5:ps aux | egrep `(cron|syslog)` 找出与cron与syslog这两个服务有关的PID号码。
2、top
[root@linux ~]# top [-d] | top [-bnp]
参数:
-d:后面可以接秒数,就是整个进程画面更新的秒数。默认是5秒。
-b:以批处理的方式执行top,还有更多的参数可用。通常会搭配数据流重导向,将批处理的结果输出为文件。
-n:与-b搭配,意义是,需要进行几次top的输出结果。
-p:指定某些个PID来进行观察检测。
在top执行过程中可以使用的案件命令:
?:显示在top中可以输入的按键命令。
P:按CPU的使用资源排序显示。
M:按内存(Memmory)的使用资源排序显示。
N:按PID来排序
T:该进程使用的CPU时间累积(TIME+)排序。
r:给某个PID重新确定一个值。
范例1:每秒钟更新一次top,观察整体信息:top -d 2 范例2:将top执行两次,然后将结果输出到 /tmp/top.txt top -b n 2 > /tmp/top.txt 范例3:假设3158是一个已经存在的PID,仅观察该进程。top -d 2 -p3158 范例4:接上题,上面的NI值是0,要改成10 。在上例画面中按下r,之后可以输入NICE值了