系统进程及服务的控制

一.什么是进程

进程即正在进行的程序,就是系统未完成并且正在进行的工作。

二.查看进程

1.图形方式查看

gnome-system-monitor

效果如下
该界面类似于Windows操作系统的任务管理器
该界面类似于Windows操作系统的任务管理器

2.进程查看命令

命令参数注释
ps-A显示所有进程
ps-a在当前环境中运行的进程,不包含环境信息
ps-u显示进程用户信息
psa在当前环境中运行的进程
psx列出系统中所有运行包含tty输出设备
psf显示进程的父子关系
pse显示进程的详细信息(系统资源的调用)

1)效果演示

显示所有进程

ps -A

在这里插入图片描述
在当前环境中运行的进程,不包含环境信息

ps -a

在这里插入图片描述
显示进程用户信息

ps -u

在这里插入图片描述
在当前环境中运行的进程

ps a

在这里插入图片描述列出系统中所有运行包含tty输出设备

ps x

在这里插入图片描述
显示进程父子关系

ps f

在这里插入图片描述
显示进程的详细信息(系统资源的调用)

ps e

在这里插入图片描述

2)ps命令常用组合

命令参数注释
psaux显示系统中所有进程并显示进程用户
psef显示进程详细信息并显示进程父子关系
psax显示当前系统中的所有进程

3)显示进程指定信息

命令参数
ps-oxxx显示进程的指定信息
ps-ocomm进程名称
ps-ouser进程所有人
ps-ogroup进程所有组
ps-o%cpu进程cpu使用率
ps-o%mem进程内存使用率
ps-opid进程id
ps-onice进程优先级

效果演示

显示进程名称、进程id、cpu使用率和所有人。

ps -o comm,pid,%cpu,user

在这里插入图片描述

显示进程id,优先级和内存使用率

ps -o pid,nice,%mem

在这里插入图片描述

4)进程排序

ps ax --sort=+%cpu|-%cpu				##按cpu使用率正序/逆序排序
ps ax --sort=+%mem|-%mem				##按内存使用率正序/逆序排序

效果演示

将进程按照cpu使用率逆序排列并且只显示进程cpu使用率

ps ax --sort=-%cpu -o %cpu

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

ps ax --sort=-%cpu -o pid | head -n 6 | tail -n 5

在这里插入图片描述

5)stat中显示的信息

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

在这里插入图片描述

三.进程优先级

1.优先级的范围

-20~19 数值越大优先级别越低,-20为最高,19为最低

2.优先级查看

ps ax -o pid,nice,comm

在这里插入图片描述

3.指定某个优先级开启进程

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

如:开启vim并且指定程序优先级为-5

nice  -n  -5 vim &	 

在这里插入图片描述
普通用户使用此命令时可能会出现 Permission denied的情况,切换到超级用户即可
&的作用是将程序打开并打入后台而不影响当前操作(后面会提到)
若不使用&,则当前直接会进入vim界面,如下
在这里插入图片描述

4.改变进程优先级

renice -n 优先级数字  进程pid
renice -n -2  1806  ##改变1806进程的优先级为-5

效果演示

此处我们可以尝试将上一步中指定优先级为-5的vim程序进行更改
第一步找出该进程的pid

ps a -o pid,nice,comm

在这里插入图片描述
第二步将pid为3383的进程优先级修改为-10

renice -n -10 3383

在这里插入图片描述
再次查看确认,修改成功

ps a -o pid,nice,comm

在这里插入图片描述

4.环境中进程的前后台调用

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

效果演示

使用jobs命令查看被打入环境后台的进程

jobs


可知,当前只有vim程序在环境后台,我们再开启Firefox程序

firefox

在这里插入图片描述
可以看到Firefox已经在前台打开,且shell处于占用状态,无法输入命令,此时按下ctrl+z把占用终端的进程打入后台
在这里插入图片描述
此时Firefox进程处于后台且是停止状态,再次查看被打入环境后台的进程

jobs

在这里插入图片描述
第一列的中括号数字表示jobsnum,+表示默认,当+的进程调回前台时,-则会变为+成为默认

将Firefox后台运行

bg 2

再次查看后台进程

jobs

在这里插入图片描述
将vim调回前台(此时vim前面是+处于默认状态,fg命令后面加不加jobsnum都可以

fg 1

在这里插入图片描述

5.进程信号

1)常用信号等级

数字含义
1进程重新加载配置
2删除进程在内存中的数据
3删除鼠标再内存中的数据
9强行结束单个进程(不能被阻塞)
15正常关闭进程(可能会被阻塞)
18运行暂停的进程
19暂停某个进程(不能被阻塞)
20把进程打入后台(可以被阻塞)

使用man 7 signal可以查看信号详细信息,此处仅列出部分信号

信号的使用

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

效果演示

使用ps命令查看当前进程

ps a -o pid,comm 

在这里插入图片描述
强行关闭pid为3383的进程

kill -9 3383 

在这里插入图片描述
查找该进程,可见已经被彻底关闭

ps a -o pid,comm | grep 3383 

在这里插入图片描述
若要关闭所有firefox的进程,可以使用

killall -9 firefox

其他常见信号

SIGHUP终止进程终端线路挂断
SIGINT终止进程中断进程
SIGQUIT建立CORE文件终止进程,并且生成core文件
SIGILL建立CORE文件非法指令
SIGTRAP建立CORE文件跟踪自陷
SIGBUS建立CORE文件总线错误
SIGSEGV建立CORE文件段非法错误
SIGFPE建立CORE文件浮点异常
SIGIOT建立CORE文件执行I/O自陷
SIGKILL终止进程杀死进程
SIGPIPE终止进程向一个没有读进程的管道写数据
SIGALARM终止进程计时器到时
SIGTERM终止进程软件终止信号
SIGSTOP停止进程非终端来的停止信号
SIGTSTP停止进程终端来的停止信号
SIGCONT忽略信号继续执行一个停止的进程
SIGURG忽略信号I/O紧急信号
SIGIO忽略信号描述符上可以进行I/O
SIGCHLD忽略信号当子进程停止或退出时通知父进程
SIGTTOU停止进程后台进程写终端
SIGTTIN停止进程后台进程读终端
SIGXGPU终止进程CPU时限超时
SIGXFSZ终止进程文件长度过长
SIGWINCH忽略信号窗口大小发生变化
SIGPROF终止进程统计分布图用计时器到时
SIGUSR1终止进程用户定义信号1
SIGUSR2终止进程用户定义信号2
SIGVTALRM终止进程虚拟计时器到时

6.进程的动态监控

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

在这里插入图片描述

7.控制服务

1)什么是服务

Linux中的服务是一类常驻在内存中的进程,这类进程启动后就在后台当中一直持续不断的运行,因为这类进程通常是负责一些系统提供的功能来服务用户的各项任务,所以这类进程被称为服务,比如crond、atd、syslog、Apache都是属于服务,服务叫做daemon进程,从它的英文含义上也可以看出这类进程的特点。

2)用什么控制服务

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

3)当前系统初始化进程是什么

systemd ##系统初始化进程
pstree ##显示系统中的进程树
在这里插入图片描述

systemctl服务控制命令
systemctl status sshd查看sshd服务状态,状态有两种:inactive(不可用),active(可用)
systemctl start sshd开启sshd服务
systemctl stop sshd关闭服务
systemctl restart sshd重启服务
systemctl reload sshd重新加载服务配置
systemctl enable sshd设定服务开机启动
systemctl disable sshd设定服务开机不启动
systemctl list-units列出已经开启服务当前状态
systemctl list-unit-files列出所有服务开机启动状态
systemctl list-dependencies列出服务的依赖
systemctl mask sshd锁定sshd服务
systemctl unmask解锁
systemctl set-default multi-user.target设定系统启动级别为多用户模式
systemctl set-default graphical.target设定系统启动级别为图形模式

查看sshd服务状态

systemctl status sshd

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值