day8.5
day8.5
进程管理
进程概述
# 什么是进程?
	就是一个运行的程序
# 程序与进程的区别
	进程是动态概念,是有生命周期的,无法长期存放在系统中
	程序是静态概念,代码集合,可以长期存放在系统中
	
# 进程的生命周期
接收任务-fork子进程-子进程处理任务-父进程等待
正常结束任务
非正常结束任务
 	-产生僵尸进程
 	-产生孤儿进程
 
# 什么是僵尸进程
	子进程先结束,父进程没有及时回收子进程占用资源
# 产生的原因
	子进程的结束和父进程的运行时异步的,父进程永远不知道子进程什么时候结束。
	子进程结束时,父进程繁忙来不及wait子进程,则会导致变成僵尸进程。
	
# 什么是孤儿进程
	父进程先结束,子进程没有父进程的管理
# 产生的原因
	子进程的结束和父进程的运行时异步的,父进程永远不知道子进程什么时候结束。
	当父进程正常完成工作或是其他原因被终止,则会导致,子进程变成孤儿进程
监控进程的状态
进程状态管理命令-ps
# 语法
PS [选项] [参数]
# 常用选项组合
[root@28technicians ~]# ps -ef
[root@28technicians ~]# ps aux
a:查看所有与终端相关的进程,有终端发起的进程
u:显示进程管理用户
x:查看所有与终端无关的进程
进程解析
[root@28technicians ~]# ps aux|grep nginx
USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root  7243  0.0  0.1  46132  1944 ?        Ss   14:15   0:00 nginx: master process nginx
USER:该进程的管理用户
PID:进程号
%CPU:该进程站占用CPU百分比
%MEM:该进程占用内存的百分比
VSZ:该进程占用虚拟内存的大小
RSS:该进程占用物理内存的大小
TTY:
	?:由内核发起的进程
	tty:机器上的终端进程
	pts/N:远程连接工具的终端进程
STAT:进程运行的状态
	D:无法中断的休眠状态
	R:正在运行的状态
	S:处于休眠的状态进程
	Z:僵尸进程
	+:在前台运行
------------------------	
	T:暂停或被追踪的状态
	W:交换内存的进程
	X:死掉的进程
	<:优先级高的进程
	N:优先级低的进程
	L:有些数据页被锁进内存的进程
	s:父进程,他下面有子进程
	l:以线程的方式运行
	|:存在多进程的进程
START:进程开启的时间
TIME:该进程占用CPU的时间
COMNAND:进程的名字或命令
	[]:内核态进程
	没[]:用户态进程
	
如果后台有被暂停的进程
# 查看所有被暂停的进程
[root@28technicians ~]# jobs
[1]+  Stopped                 ping baidu.com
bg:让暂停的程序运行起来,后面加数字,就可以运行第几个被暂停的进程
fg:是把后台暂停的进程,调到前台运行,后面加数字,就可以将第几个进程调到前台运行
PS命令的用法
# 1.根据%CPU进行排序
[root@28technicians ~]# ps aux --sort %cpu
[root@28technicians ~]# ps aux --sort %mem
# 2.自定义显示字段
o:自定义显示字段
[root@28technicians ~]# ps axo pid
# 3.显示子进程和父进程的关系
[root@28technicians ~]# ps auxf|grep nginx
# 4.查看进程的pid
[root@28technicians ~]# pgrep nginx
7243
7294
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号