Linux下的系统进程管理

一、系统进程管理

1、进程的含义

  • 程序正在运行的状态为进程 ,也就是cpu未完成的工作,程序并不是进程

前台运行 | 占CPU、内存资源,运行可见
后台运行 | 不争抢CPU、内存资源,系统资源闲置时运行,运行不可见,只显示运行结果
后台暂停 | 运行无条件,暂时停止后台进程

2、查看系统的进程

2.1 图形模式

gnome - system - monitor | 图形界面查看进程

在这里插入图片描述

2.2 命令模式
命令含义
ps自己所在的shell里面运行的进程
ps a在shell当中运行的所有进程,包括shell的环境bash
ps -a在shell当中运行的所有进程,不包括shell环境本身信息bash
ps -A系统当中所有的进程,与shell无关
ps -d与A类似 ,没有允许环境(shell)
ps -e显示进程的扩展信息(系统资源),与-A 类似
ps x显示所有输出设备终端的进程
ps -u显示用户信息 ,id等等 ,终端 ,各种时间
ps -f显示父级进程以及子进程

(1)psps aps -a
在这里插入图片描述
(2)ps -A
在这里插入图片描述
(3)ps -d
在这里插入图片描述

(4)ps X

在这里插入图片描述
(5)==ps -u ==
在这里插入图片描述

2.3 常用ps组合
命令含义
ps aux显示系统当中的所有进程并显示进程用户
ps ef显示进程的详细信息以及进程的父子关系
ps ax显示当前系统当中的所有进程
pstree显示当前系统的进程树
  • 注意:父级进程结束以后子进程不一定会结束,若父级进程被强行关闭 ,余下的子进程叫孤儿进程 ,受系统初始化程序控制。一般由系统的初始化程序来控制其他进程的开始和结束,可以用pstree查看系统的进程树(pstree)systemd为初始化程序,是所有程序的父级程序,不会自己关闭结束自己,只有关机才可以,或者结束了所有子进程以后,该初始化进程才会被关闭。
2.4显示进程指定信息

ps -o xxx | 显示进程的指定信息

xxx含义
comm进程名称
user进程所有人
group进程所有组
%cpu进程cpu使用率
%men进程内存使用率
pid进程的id
nice进程优先级

(1)

在这里插入图片描述
(2)tty为所处环境,stat为所处状态

在这里插入图片描述

2.5 进程排序

ps ax --sort=要显示的东西

命令含义
ps ax --sort=%men -o %mem显示mem升序
ps ax --sort=-%men -o %mem显示mem降序
ps ax --sort=%cpu -o %cpu显示cpu使用率升序
ps ax --sort=-%cpu -o %cpu显示cpu使用率降序

(1)ps --sort=%cpups -A --sort=%cpu

在这里插入图片描述

(2)ps -A --sort=%mem -o %mem
在这里插入图片描述
(3)面试题:memory +5 pid 显示内存当中pid的前五个
命令: ps -A --sort=-%mem -o pid |head -n 6 | tail -n 5
在这里插入图片描述

2.6 stat显示的信息含义
字符含义
S进程状态
s没有父进程,顶级进程
l在内存当中有锁定空间(进程结束之前不会被系统回收)
+正在前台运行的进程
N表示优先级低
<表示优先级高

在这里插入图片描述

3、进程的优先级

ps ax -o pid,nice,comm | 优先级的查看 (进程的优先级范围: -20~19)

3.1改变进程的优先级
  1. 图形调整进程的优先级,直接在进程的图形界面里面调整数字
  2. 命令设定进程优先级,直接在shell里面输入命令即可

nice -n 优先级数字 进程名称 | 指定优先级且开启进程

renice -n 优先级数字 进程名称 | 更改已打开进程优先级

(1)nice -n -5 vim 开启vim并且指定该程序的优先级为-5
在这里插入图片描述
(2) renice -n -5 2115 改变2115进程的优先级为10。

在这里插入图片描述

4、进程的前后台调用

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

(1)先用在desktop主机中输入gedit , 此进程会占用终端,使终端不能使用
在这里插入图片描述
(2)直接在shell脚本输入 ctrl+z 打入后台
(3)输入jobs查看被打入后台的进程
(4) fg 数字 将被打入后台的进程调回前台(终端)
(5)bg 数字 将被打入后台的暂停的进程运行起来
(6)使用 comm(名字) &, 让命令直接在后台运行
在这里插入图片描述

  • 注意:+表示正在运行 , -表示为次优先; 如果没有+(把一个进程调回前台) , -就会被自动变为+(优先级提高)

5、kill控制进程

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

kill -信号 进程pid | 执行单个

killall -信号 进程名字 | 批量执行

pkill -信号 -u 用户 | 执行指定用户

(1) kill -9 2276 执行单个删除进程命令

在这里插入图片描述
(2) killall -信号 进程名字 批量执行

在这里插入图片描述

(3)pkill -9 -u student 执行指定用户

在这里插入图片描述

6、进程的动态监控

6.1 动态监控命令
参数含义
1(小写l)显示cpu每个核的负载
s调整刷新频率
ccpu负载排序
m内存使用量排序
h查看帮助
u查看指定用户进程
k对指定信号发起进程
q退出
6.2 top监控

在这里插入图片描述
(1)按下 “1”

在这里插入图片描述

(2)按下**“s”**

在这里插入图片描述

(3)按下**“c”**

在这里插入图片描述

(4)按下**“m”**

在这里插入图片描述

(5)按下**“h”**
在这里插入图片描述

(6)按下**“u”**

在这里插入图片描述

(7)按下**“k”**

在这里插入图片描述

在这里插入图片描述

7、控制服务

  • 服务也是进程,是多个进程的集合,对自己没有意义,但对客户有意义
  • 说明:要区分客户端和服务端,客户端:要分享别人,连接方,服务端:远程的主机,可以共享资源 (前提是安全共享),被连接方。
  • 系统初始化进程有两个:systemd pstree
7.1 进程控制命令
命令含义
systemctl status sshd查看服务状态,
systemctl start 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 set-default multi-user.target设定系统启动级别为无图形模式
systemctl set-default graphical.target设定系统启动级别为图形模式
  • 所有的服务状态如下: static disable enable masked(一共四种)

(1)systemctl status sshd 查看服务状态

在这里插入图片描述

(2) systemctl stop sshd 关闭服务 systemctl start sshd 开启服务

在这里插入图片描述
在这里插入图片描述
(3) systemctl list-units 列出所有服务器开机启动的状态

在这里插入图片描述
(4) systemctl list-unit-files 列出所有服务器开机启动的状态

在这里插入图片描述
(5) systemctl list-dependencies 列出所有服务的依赖

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值