系统进程及服务的控制(学习ps、top、systemctl)

系统进程及服务的控制

一.进程理解

1.进程
进程就是系统未完成并且正在进行的工作

  • 程序是静态的文件
  • 进程是运行中的程序的一个副本
  • 进程存在生命周期(准备期,运行期,终止期)

2.进程状态

状态 定义
R(TASK_RUNNING) 可执行状态(RUNNING,READY)
S(TASK_INTERRUPTIBLE) 可唤醒睡眠状态
D (TASK_UNINTERRUPTIBLE) 不可唤醒睡眠状态
T(TASK_STOPPED) 暂停状态
z( EXIT_ZOMBIE) 僵死态

3.进程与线程

  • 进程:在执行的过程中,是从上到下依次进行的,它中间的数据流是从上到下贯穿的。进程是资源调配的最小单位
  • 线程:是进程的最小单位

二.查看进程

1.pstree查看进程树
systemd守护进程:最大作用是对我们的这些进程进行初始化
在这里插入图片描述

2.ps命令
【1】man ps查看
UNIX选项:可以分组,前面必须有一个破折号
BSD选项:可以分组使用,但不能与破折号一起使用
在这里插入图片描述

【2】ps显示当前命令执行时进程状态

参数 作用
a 显示与终端相关进程(BSD)
x 显示所有与终端无关进程(BSD)
u 以用户为归类来显示进程状态信息(BSD)
f 层级结构显示进程信息
o 指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid
-f 显示完整格式信息(unix)
-e 显示所有进程(uinx))
-H 层级结构显示进程的相关信息
-o 指定查看选项,pid,comm,nice,%cpu,%mem,nice
BSD风格
ps axo pid,comm,nice,stat,user,group,%cpu,...
UNIX风格
ps -eo	xxx		##显示进程的指定信息
	    comm	##进程名称
		user	##进程所有人
		group	##进程所有组
		%cpu	##进程cpu使用率
		%mem	##进程内存使用率
		pid		##进程id
		nice	##进程优先级

练习:

  • f 进程的树形结构
    3135是2886的一个子进程
    在这里插入图片描述
  • -e显示所有进程(uinx)
    在这里插入图片描述
  • -f 显示完整格式信息
  • BSD o指定查看选项
    在这里插入图片描述
  • Unix -o 指定查看选项
    在这里插入图片描述

【3】ps常用组合

常用组合 作用
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树显示进程指定信息

练习:

  • ps ax
    在这里插入图片描述
  • ps ef
    在这里插入图片描述
  • ps aux显示进程指定信息面试点
字段 解释
USER 用户名称
PID 进程id
%CPU cpu用量百分比
%MEM 内存用量百分比
VSZ 占用虚拟内存大小
RSS 常驻内存集大小
TTY 字符终端
STAT 进程状态
TIME 占用cpu时间
COMMAND 进程名称

在这里插入图片描述

3.进程排序

ps ax  --sort=+%cpu|-%cpu
%cpu表示正序;-%cpu表示倒叙排列

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

参数 作用
-u uid 显示指定用户进程
-U name 显示指定用户进程
-t tty 显示指定终端进程
-l 显示进程名称
-a 显示完整格式进程名
-P pid 显示指定进程的子进程

练习:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.pidof
根据进程名称获取pid
在这里插入图片描述

三.top命令

查看进程命令,实时显示
在这里插入图片描述
1.top显示进程信息详解

进程信息 作用
top 系统当前时间
up 系统运行时长
user 登录当前系统的用户数量
load average 平均负载1分钟 5分钟 15 分钟的队列长度(uptime)
task 任务
mem 物理内存
swap 交换分区占用
%cpu cpu占用百分比

补充:

%cpu cpu占用百分比
	• us 用户空间
	• sy 内核空间
	• ni 进程优先级调整时间
	• id 空闲时间
	• wa 等待输入输出(io)的时间
	• hi 处理硬件中断
	• si 处理软件中断
	• st 被虚拟化程序占用的百分比
load average 数字越大,表示cpu负载越大

2.top内部参数

参数 作用
P 按cpu百分比排序
M 内存百分比
T 累计占用cpu时间
l 开启/关掉uptime信息
t 开启/关闭task&cpu信息
s 调整刷新频率
k 终止进程
u 查看指定用户进程

练习:

  • 调整刷新频率
    在这里插入图片描述
  • 终止进程
    在这里插入图片描述
  • 关闭task&cpu信息 + 按内存百分比排序
    在这里插入图片描述
    3.top命令参数
参数 作用
-d 指定刷新间隔
-b 以批次方式显示
-n 显示批次数量

练习:
top命令默认3s刷新一次

  • 指定刷新间隔为1s
[root@workstation ~]# top -d 1
  • 按批次显示
[root@workstation ~]# top -b -d1 -2

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

四.进程优先级

1.优先级范围

  • 对Linux而言优先级被划分成固定个数(0-139)
  • 1-99为实时优先级,数字越大优先级越高,不用手动处理系统自用
  • 100-139为静态优先级,数字越小优先级越高

2.NICE值

  • NICE值:-20~19对用静态优先级
  • 普通用户只可以调低优先级,超级用户任意调整
  • 关于优先级的命令
	ps ax -o nice,pid,comm
 	nice –n 优先级 程序
 	reince–n 优先级 程序pid

3.优先级命令
【1】优先级查看
ps ax -o stat,nice,comm
0默认对应的是静态优先级中的120
在这里插入图片描述

【2】指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 5 vim & ##开启vim并且指定程序优先级为5
在这里插入图片描述
【3】改变进程优先级
reince -n 优先级数字 进程pid
renice -n -10 8662 ##改变8662进程的优先级为-10

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

在这里插入图片描述

五.进程的前后台调用

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

练习:
在这里插入图片描述

六.进程信号

1.常用信号等级
man 7 signal 查看信号详细信息

可控信号 含义
1 进程不关闭的情况下,重新加载配置
2 中断键盘输入
3 删除鼠标在内存中的数据
9 强行结束单个进程(不能被阻塞)
15 正常关闭(可能会被阻塞 )
18 激活进程
19 强制暂停(不能被阻塞)
20 正常暂停(可以被阻塞)

2.信号指令

命令 作用
kill -信号 进程pid 对指定进程进行操作
killall -信号 xx(进程名称) 岁所有名称为xx的进程操作
pkill -u 1000 结束

练习:

  • 中断键盘输入
    在这里插入图片描述
  • 强制暂停+唤醒进程
    在这里插入图片描述
    在这里插入图片描述
  • 正常暂停(可能被阻塞)
    kill -20 8140 后,还是在可以在shell中输入内容。这是因为该动作被系统阻塞了
    在这里插入图片描述
  • killall
    在这里插入图片描述

七.系统守护进程

1.守护进程的定义

  • 守护进程就是通常讲Daemon进程
  • 是linux后台执行的服务进程
  • 是独立于控制终端、周期性地执行某种任务或等待处理某些发生事件
  • 不会随终端关闭而停止,直到接受停止信息才会结束

2.守护进程类型

守护进程类型 使用系统及特点
Sysv init 经典的守护进程类型延用到rhel6
upstart 做到并行启动rhel6中应用
systemd 独立完成启动,rhel7中使用

rhel8中沿用了systemd
有关systectl的用法

指令 用途
systemctl list-unit-files 查看服务开机运行情况
systemctl list-units 查看服务当前运行情况
systemctl list-dependencies service 查看服务依赖性
systemctl status service 查看服务状态
systemctl start service 开启服务
systemctl stop service 关闭服务
systemctl reload service 重新加载服务配置
systemctl restart service 重新启动服务
systemctl enable service 设定服务开启启动
systemctl enable –now service 设定服务开机启动并开启服务
systemctl disable service 设定服务开机关闭
systemctl set-default multi-user.target 设定系统运行级别为无图形网络模式
systemctl set-default graphical.target 设定系统运行级别为图形网络模式

练习:

  • 查看开机运行情况
    在这里插入图片描述
  • 查看服务依赖性
    在这里插入图片描述
  • 查看服务状态
    在这里插入图片描述

后期学习到rhce部分知识的时候,使用的比较多

发布了64 篇原创文章 · 获赞 4 · 访问量 3418

猜你喜欢

转载自blog.csdn.net/ly_qiu/article/details/105381690