ps, top, pstree

ps

查看当前终端所启动的进程, 不加选项只查看当前终端的进程

PID			TTY		TIME 		CMD 		
2398		pts/1   00:00:00 	bash 
3625		pts/1   00:00:00 	ps 
#PID	: Process ID,是进程的唯一标识, 虽然是int 但是从0开始使用, OS使用延迟重用算法来分配进程的编号, 从而保证任意时刻进程号都是唯一的(对OS来说是唯一的,eg: 连续执行两次同一个a.out,也是两个进程,有PID1.PID2,  所以一定不能把刚刚使用过的PID号PID1给新的进程,否则OS就不知道是之前的没关还是新的刚创建)
#TTY	:终端的次要装置号码,tetetype, 用来表示终端类型
#TIME	:消耗cpu的时间 
#CMD	:命令,即进程名

ps aux

查看所有进程,ps aux是BSD syntax,ps -aux是standard syntax, 但二者的意义完全不同=>$man ps

$ps aux | more		#输出的太多, 把$ps aux执行的结果交给$more, =>回车翻一行,空格翻一页, q退出
USER	PID		%CPU	%MEM	VSZ		RSS		TTY	STAT	START	TIME	COMMAND 
root	1  		0.0  	0.0		3740  	2156 	?    Ss   	08:28   0:00 	/sbin/init 
root	2  		0.0  	0.0      0     	0 		?    S    	08:28   0:00 	[kthreadd] 
root	3  		0.0  	0.0      0     	0 		?    S    	08:28   0:00 	[ksoftirqd/0] 
--More--

#USER		:用户
#%CPU		:占用CPU百分比
#%MEM		:占用MEM百分比
#VSZ		:虚拟内存大小
#RSS		:物理内存大小
#STAT		:进程的状态信息
	S		:休眠状态(为了减轻CPU压力)
	s		:进程的领导者, 拥有子进程,树型的根节点
	Z		:僵尸进程, 进程已经结束, 但是资源没有回收
	R		:正在运行的进程
	O		:可以运行的进程
	T		:挂起状态的进程
	<		:优先级比较高的进程
	>		:优先级比较低的进程
#START		:进程的启动时间

ps -ef

以全格式的方式显示所有进程(every)查看当前终端所启动的进程, 不加选项只查看当前终端的进程

PID			TTY	       TIME 	    CMD 		
2398		pts/1    00:00:00 	bash 
3625		pts/1    00:00:00 	ps 
#PID	: Process ID,是进程的唯一标识, 虽然是int 但是从0开始使用, OS使用延迟重用算法来分配进程的编号, 从而保证任意时刻进程号都是唯一的(对OS来说是唯一的,eg: 连续执行两次同一个a.out,也是两个进程,有PID1.PID2,  所以一定不能把刚刚使用过的PID号PID1给新的进程,否则OS就不知道是之前的没关还是新的刚创建)
#TTY	:终端的次要装置号码,tetetype, 用来表示终端类型
#TIME	:消耗cpu的时间 
#CMD	:命令,即进程名

ps aux

查看所有进程,ps aux是BSD syntax,ps -aux是standard syntax, 但二者的意义完全不同=>$man ps

$ps aux | more		#输出的太多, 把$ps aux执行的结果交给$more, =>回车翻一行,空格翻一页, q退出
USER	PID		%CPU	%MEM	VSZ		RSS		TTY	STAT	START	TIME	COMMAND 
root	1  		0.0  	0.0		3740  	2156 	?    Ss   	08:28   0:00 	/sbin/init 
root	2  		0.0  	0.0      0     	0 		?    S    	08:28   0:00 	[kthreadd] 
root	3  		0.0  	0.0      0     	0 		?    S    	08:28   0:00 	[ksoftirqd/0] 
--More--

#USER		:用户
#%CPU		:占用CPU百分比
#%MEM		:占用MEM百分比
#VSZ		:虚拟内存大小
#RSS		:物理内存大小
#STAT		:进程的状态信息
	S		:休眠状态(为了减轻CPU压力)
	s		:进程的领导者, 拥有子进程,树型的根节点
	Z		:僵尸进程, 进程已经结束, 但是资源没有回收
	R		:正在运行的进程
	O		:可以运行的进程
	T		:挂起状态的进程
	<		:优先级比较高的进程
	>		:优先级比较低的进程
#START		:进程的启动时间

ps -ef

以全格式的方式显示所有进程(every)

F	S	UID		PID		PPID	C	PRI	NI	ADDR	SZ	WCHAN		TTY	TIME		CMD 
4	S	0		1		0		0	80	0 	-   	935 poll_s 		?   00:00:00 	init 
1 	S  	0     	2     	0  		0  	80  0 	-     	0 	kthrea 		?   00:00:00 	kthreadd
#PPID	:父进程的编号(IMPORTANT)
#C		:占用CPU百分比
#STIME	:启动时间
F	S	UID		PID		PPID	C	PRI	NI	ADDR	SZ	WCHAN		TTY	TIME		CMD 
4	S	0		1		0		0	80	0 	-   	935 poll_s 		?   00:00:00 	init 
1 	S  	0     	2     	0  		0  	80  0 	-     	0 	kthrea 		?   00:00:00 	kthreadd
#PPID	:父进程的编号(IMPORTANT)
#C		:占用CPU百分比
#STIME	:启动时间

ps -axj

显示系统的守护进程

$ps -axj
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     1     1     1 ?           -1 Ss       0   0:01 /sbin/init
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:02 [ksoftirqd/0]
    2     5     0     0 ?           -1 S        0   0:02 [kworker/u:0]
    2     6     0     0 ?           -1 S        0   0:00 [migration/0]
    2     7     0     0 ?           -1 S        0   0:01 [watchdog/0]
    2     8     0     0 ?           -1 S        0   0:00 [migration/1]
    2    10     0     0 ?           -1 S        0   0:02 [ksoftirqd/1]

top

$top [-dbnp] #动态查看进程的变化
-d 数字 #后面可以接刷新的,默认是5秒。
-b #以批次的方式执行top,还有更多的参数可以使用。
#通常会搭配数据流重定向来将批处理的结果输出成文件
-n #与-b 搭配,意义是,需要进行几次top的输出结果
-p pid #指定某些个PID来进行查看监测
Note:在top执行过程当中可以使用的按键命令
: 显示在top当中可以输入的按键命令
P: 以CPU的使用资源排序显示
M: 以内存的使用资源排序显示
N: 以PID顺序排序
T: 由该进程使用的CPU时间累积(TIME+)排序
k: 给予某个PID一个信号 (signal)
r: 给予某个PID重新制定一个nice值
q: 离开top的按键

pstree

stree [-A|U] [-up]
A #各进程树之间的连接以ASCII字符来连接
U #各进程树之间的连接以utf8码的字符来连接,在某些终端端口写可能会有错误
u #同时列出每个进程的所属帐号名称
-p #同时列出每个进程的PID

$pstree -A
init-+-NetworkManager-+-dnsmasq
     |                `-2*[{NetworkManager}]
     |-accounts-daemon---{accounts-daemon}
     |-irqbalance
     |-lightdm-+-Xorg---2*[{Xorg}]
     |         |-lightdm-+-gnome-session-+-bluetooth-apple---2*[{bluetooth-apple}]
     |         |         |               |-deja-dup-monito---2*[{deja-dup-monito}]
$pstree -U
init─┬─NetworkManager─┬─dnsmasq
     │                └─2*[{NetworkManager}]
     ├─accounts-daemon───{accounts-daemon}
     ├─acpid
     ├─atd
     ├─avahi-daemon───avahi-daemon
     ├─bluetoothd
     ├─colord───2*[{colord}]
     ├─gnome-terminal─┬─bash───pstree
     │                ├─gnome-pty-helpe
     │                └─3*[{gnome-terminal}]
     ├─goa-daemon───{goa-daemon}
     ├─gsd-locate-poin───2*[{gsd-locate-poin}]
posted @ 2016-10-06 16:31  Abnor  阅读(728)  评论(0编辑  收藏  举报