linux系统进程存在状态及管理详解

一、什么是进程

程序放置在存储媒体中(如硬盘,光盘,软盘,磁盘等),为实体文件的形态存在。也就是说,进程就是系统未完成并且正在进行的工作。

进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在进行中的程序。

二、进程状态

R(Running):该程序正在运行中;
S(Sleep):该程序目前正在睡眠状态,但可以被唤醒;
D(Done):不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况;
T(stop):停止状态,可能是在工作控制(背景暂停)或除错状态;
Z(Zombie):僵尸状态,程序已经中止但却无法被移除至内存外;

注:S也是R的一部分

三、查看进程的方式

1.图形方式查看
     gnome-system-monitor

在这里插入图片描述

2.进程查看命令(静态的查看进程信息)
   ps   -A   ##所有进程
        -a   ##在当前环境中运行的进程,不包含环境信息
        -u   ##显示进程用户信息
         a   ##在当前环境中运行的进程
         x   ##列出系统中所有运行包含tty输出设备
         f   ##显示进程的父子关系
         e   ##显示进程的详细信息(系统资源的调用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(1)ps命令常用组合
ps  aux   ##显示系统中所有进程并显示进程用户
ps  ef    ##显示进程详细信息并显示进程父子关系
ps  ax    ##显示当前系统中的所有进程
pstree    ##显示当前系统的进程树

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(2)显示进程指定信息
ps   -o  xxx   ##显示进程的指定信息
	     comm  ##进程名称
	     user  ##进程所有人
	     group ##进程所有组
	     %cpu  ##进程cpu使用率
	     %mem  ##进程内存使用率
	     pid   ##进程id
	     nice  ##进程优先级

在这里插入图片描述

(3)进程排序
ps  ax  --sort=+%cpu|-%cpu		##‘+’升序,‘-’降序
ps  ax  --sort=+%mem|-%mem

在这里插入图片描述
示例:
抓取系统中内存使用量排在前5的进程的pid

ps ax -o pid --sort=-%mem|sed -n 2,6p

在这里插入图片描述

(4)stat中显示的信息
S	##进程状态
l	##内存中有锁定空间
N	##优先级低
<	##优先级高
+	##前台运行
s	##顶级进程
##一般会组合使用

在这里插入图片描述

3.进程优先级
(1)进程的优先级范围

-20~19 ##高~低

(2)优先级查看
ps ax -o pid,nice,comm

在这里插入图片描述

(3)指定某个优先级开启进程
nice -n 优先级数字 进程名称 &  ##&,将程序放入后台
例如:
nice -n -5 gedit &          ##开启gedit并且指定程序优先级为-5

在这里插入图片描述

(4)改变进程优先级
renice -n 优先级数字 进程pid
例如:
renice -n -1 3254           ##改变3254进程的优先级为-1

在这里插入图片描述

四、环境中进程的前后台调用

comm &		##让命令直接在后台运行
jobs		##查看被打入环境后台的进程
ctrl+z		##把占用终端的进程打入后台
fg jobsnum	##把后台进程调回前台
bg jobsnum	##把后台暂停的进程运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、进程信号

1.常用信号等级
1		##进程重新加载配置,在不关闭进程的情况下,重新读取配置文件
2		##删除进程在内存中的数据
3		##删除鼠标在内存中的数据
9		##强行结束单个进程(不能被阻塞)
15		##正常关闭进程	 (可能会被阻塞)	
18		##运行暂停的进程
19		##暂停某个进程	 (不能被阻塞)
20		##把进程打入后台	(可以被阻塞)
man 7 signal	##查看信号详细信息
2.kill命令

作用:向进程发送信号

kill 	-信号   	   进程pid
killall -信号	   进程名字
pkill	-u 用户名   -信号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、进程的动态监控

top 参数 
	1 	 ##显示cpu每个核的负载
	s	 ##调整刷新频率
	c	 ##CPU负载排序
	m	 ##内存使用量排序
	h	 ##查看帮助
	u	 ##查看指定用户进程
	k	 ##对指定进程发起信号
	q	 ##退出

在这里插入图片描述
在这里插入图片描述

七、控制服务

1.什么是服务

cs模型
c表示client
s表示server

定义: 系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件简称服务

2.用什么控制服务

系统初始化进程可以对服务进行相应的控制

3.当前系统初始化进程是什么
	systemd		##系统初始化进程
	pstree		##显示系统中的进程树

在这里插入图片描述

4.进程控制命令

ssh ------> sshd
client server

	systemctl			        ##服务控制命令
	systemctl status  sshd		##查看服务状态,inactive(不可用),active(可用)
	systemctl start   sshd		##开启服务
	systemctl stop    sshd		##关闭服务
	systemctl restart sshd		##重启服务
	systemctl reload  sshd		##重新加载服务配置,不必关闭服务,并不是所有的服务都可以用这条命令
	systemctl enable  sshd		##设定服务开机启动
	systemctl disable sshd		##设定服务开机不启动
	systemctl mask    sshd		##冻结服务
	systemctl unmask  sshd		##解冻服务
	systemctl list-units		##列出已经开启服务当前状态
	systemctl list-unit-files	##列出所有服务开机启动的状态 disable(关闭),enable(开启),static(不可更改),masked(锁定)
	systemctl list-dependencies	##列出服务的依赖
	systemctl set-default multi-user.target	##设定系统启动级别为多用户模式(即无图形),这种模式下若是要改为图形模式,需要重启
	systemctl set-default graphical.target	##设定系统启动级别为图形模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值