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

posted @   Gabydawei  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示