ps命令
ps [options]
选项有三种风格:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
Unix风格:必须使用-
BSD风格:不能使用-
GNU风格:使用--
启动进程的方式:
系统启动过程中自启动:与终端无关的进程;
用户通过终端启动:与终端相关的进程;
选项:
a:所有与终端相关的进程;
x:所有与终端无关的进程;
u:以用户为中心组织进程状态信息显示;
常用组合之一:ps aux
例如:
]# ps a:显示所有与终端相关的进程;
]# ps x:显示所有与终端无关的进程;
]# ps aux
显示字段表示含义:
USER:启动进程的用户;
PID:进程号;默认以PID排序;
%CPU:累计占用cpu的比率;
%MEM:内存空间占用比率;
VSZ:占用虚拟内存集的大小;
虚拟内存空间中数据的空间叫页面page,每个页面都映射到物理内存中的可用页框page frame,且是不连续的;操作系统中可有共享库,多个进程可使用共享库,在内存中只存一份即可;
比如进程1虚拟内存空间中有5个页面,其中2个是使用的共享库的数据;
进程2虚拟内存空间中有4个页面,其中2个是使用共享库的数据;
那么,事实上,它们真正占用的空间是不包括共享库的,进程1占用为3个内存页框,进程2占用为2个内存页框;
RSS:Resident Size常驻内存集;
内存空间分两类:物理内存和交换内存,当物理内存不够用是,可把一些数据放在交换内存上,但有些数据是不能放在交换内存中的就叫常驻内存集;
TTY:?表示不知道终端是什么;如果知道就显示终端名称;
STAT:当前进程的状态;(BSD风格)
R:running,运行态;
S:interruptable sleeping,可中断睡眠;
D:uninterruptable sleeping,不可中断睡眠;
T:Stopped,停止态;
Z:zombie,僵死态;
+:前台进程,运行在终端上,占用命令行;
l:多线程进程;
N:低优先级进程;
<:高优先级进程;
s:session leader,会话进程首进程;
START:启动时间;
TIME:cpu累计运行时间;
COMMAND:有中括号的表示内核线程;
-e:显示所有进程;
-f:显示完整信息;
例如:
]# ps -e:可显示字段为PID、TTY、TIME、CMD;
]# ps -ef:可显示字段为UID、PID、PPID、C、STIME、TTY、TIME、CMD;
PPID为父进程的进程号;
C:cpu占用百分比,cpu utilization;
STIME:启动时间;
TTY:与终端相关;
TIME:累计运行时间;
CMD:启动进程的命令;
常用组合之二:ps -ef
-F:显示完成格式的进程信息;
例如:
]# ps -eF:可显示字段有:UID、PID、PPID、C、SZ、RSS、PSR、ST、STIME、TTY、TIME、CMD
PSR:进程运行在哪颗cpu上;
-H:以层级结构显示进程的相关信息(显示进程及子进程);
例如:
]# ps -eFH:查看所有进程,完成格式,以层级结构显示;
常用组合之三:ps -eFH
-o field1,field2,...:自定义要显示的字段列表,以逗号分隔;
常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio
ni:ncie值;-20到19
priority:priority,优先级;
rtprio:实时优先级;
psr:进程运行在哪颗cpu上;
pcpu:cpu的利用率;
ppid:父进程的进程号;
常用组合之四:o一定要写在后面,因为后面要带参数;
ps -eo
ps axo
例如:
]# ps axo pid,comm:查看pid,comm两字段,所有与终端相关,与终端无关的进程;