进程管理

1.什么是进程

程序放置在存储媒体中(如硬盘,光盘,软盘等),为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存的单元一个识别码(PID:进程id),可以说,进程就是一个正在运行的程序,cpu没有完成的工作。
在这里插入图片描述
在System Monitor中查看进程
在这里插入图片描述

2.进程状态

R(Running):该程序正在运行中
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)
D(disk sleep) :不可中断的深度睡眠,在这个状态进程通常会等待IO的结束,kill -9都杀不死它
T (stop): 和D类似,不能直接唤醒,得拿命令处理(虽然stop,但进程并不是关闭),可能在工作控制(背景暂停)或
除错(traced)
Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外

2.1 如何用命令行查看进程
所有打开的shell的id都不一样,都在bash里
图形方式查看:gnome-system-monitor

 ps       ##查看当前shell里的进程
 ps a     ##查看所有环境里面的进程信息
 ps -a    ##查看所有shell里面的进程信息(不包含环境进程信息)
 ps -A    ##查看所有的进程信息
 ps -d    ##查看系统中所有的进程信息(不包含shell进程信息(bash就是环境))
 ps -e    ##查看进程的详细信息(系统资源的调用)
 ps x     ##显示所有有输出设备的进程信息
 ps -u    ##显示进程用户信息
 ps f     ##显示进程的从属(父子)关系,一般父级进程结束了子进程也就结束了,但不是所有的都是这样。

举个例子:ps,ps a,ps -a
在这里插入图片描述
2.2 ps常用组合

所有的组合就是前面单个字符功能的集合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树

如图
ps aux ##图中显示了 系统中的所有进程(图片太长,没有截完)及用户,输入输出设备
在这里插入图片描述
ps ef ##图中的\就说明该行进程是上一行的子进程
在这里插入图片描述
pstree ##看起来就像一棵树,显示系统中进程中的父子关系(图没截完)

在这里插入图片描述
2.3 显示进程指定信息

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

在这里插入图片描述
2.4 进程排序

ps  ax  --sort=
                 +%cpu|-%cpu  ##对进程在cpu使用率的逆序/正序
                 +%mem|-%mem  ##对进程在内存使用率的逆序/正序

在这里插入图片描述
2.5 stat中显示的信息

 S    ##进程状态
 l    ##内存中有锁定空间
 N    ##优先级低
 <    ##优先级高
 +    ##前台运行
 s    ##顶级进程

看STAT栏
在这里插入图片描述
3.进程优先级
3.1 进程的优先级范围: -20~19(数值越低优先级越高)
3.2 优先级查看:ps ax -o pid,nice,comm

NI显示得就是优先级
在这里插入图片描述
3.3 指定某个优先级开启进程

 nice  -n  优先级数字   进程名称
 nice -n -5 vim  ##开启vim并且指定程序优先级为-5

3.4 改变进程优先级

renice  -n 优先级数字 进程pid
renice -n 15  3925   ##改变3925进程的优先级为15(如图,如果一个进程为所改变进程的子进程,那么优先级也随之改变)

在这里插入图片描述
4.环境中进程的前后台调用

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

如图先用jobs命令查看被打入后台的进程,发现为空,然后人为把俩个进程打入后台(firefox,vim)然后用fg命令把firefox进程调回前台,在用jobs命令查看,发现只有vim进程被打入环境后台。
在这里插入图片描述
5.进程信号
5.1常用信号等级

1    ##进程重新加载配置
2    ##删除进程在内存中的数据
3    ##删除鼠标在内存中的数据
9    ##强行结束单个进程(不可能被阻塞,可能会有问题,因为是非正常结束)
15   ##正常关闭进程(可能被阻塞)
18   ##运行暂停的进程
19   ##暂停某个进程(不能在阻塞,可能会有问题,因为这是非正常暂停)
20   ##把进程打入后台 (可以阻塞)
man 7 signal ##查看信号详细信息


kill  -信号 进程pid
killall -信号 进程名字
pkill -u studebt -信号
pkill -等级 -P 父级进程pid  ##把父级进程低下子进程都做相应操作(看等级是什么)

例:将pid为18845进程的子进程正常关闭,再正常关闭18845进程,发现关不了,然后用-9强制关闭该进程,发现可以关闭
在这里插入图片描述
但是也有进程是用强制结束结束不了的,比如systemd进程,它是所有进程的的父进程(系统初始化进程),是所有进程的基础,没有它所有进程都不能运行,它自己不会杀死自己,系统设计者也不会允许这种情况出现,只有关机才能让它结束。
在这里插入图片描述
6.进程的动态监控
top

按一下以下字符就会实现相应功能
 1   ##显示cpu每个核的负载
 s   ##调整刷新频率(我这台虚拟机默认每3秒刷新一次,想要改变刷新频率就按s,然后输入你想要的刷新频率数字,单位:秒)
 c   ##cpu负载排序
 m   ##内存使用量排序
 h   ##查看帮助
 u   ##查看指定用户进程
 k   ##对指定进程发起信号
 q   ##退出

在这里插入图片描述
7.控制服务
1 什么是服务
服务指在操作系统中,用以支持各种功能的程序.

2.用什么控制服务
系统初始化进程可以对服务进行相应的控制

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

4.进程控制命令
ssh ----->sshd(sshd服务)
client server ##客户服务器

systemctl ##服务控制命令
ping 172.25.254.110 ##看能不能连通
ssh root@172.25.254.110 ##连通控制
注意(sshd只是一个例子,systenctl命令可以控制所有服务)
systemctl status sshd ##查看服务状态inactive(不可用),active(可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systenctl reload ssha ##重新加载服务配置
systemctl enload sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
systenctl list-dependencise ##列出服务的倚赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-defaul graphical.target ##设定系统启动界别为图形模式
systemctl mask sshd.service ##把这个服务锁住
systemctl unmask sshd.wervice ##解锁这个服务

服务状态分为:
static (静态的),disabled (失效的),enabled(可执行的) ,masked(被锁状态)

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值