管理Linux中系统中的进程

1.什么是进程

进程(Process):进程是程序运行时的状态
• 程序是静态的文件
• 进程是运行中的程序的一个副本(运行程序时会把程序复制到内存缓存空间中)
• 进程存在生命周期(准备期,运行期,终止期)
 准备期——把代码缓存到系统硬件
 运行期——处于工作状态
 终止期——工作完成后,系统把所占用的系统资源全部回收(如果系统不能回收资源系统会越来越卡)
•进程是资源调配的最小单位,线程是进程的最小单位,进程中的所有资源被线程共享

进程状态

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

1.可运行状态
Running——进行正在运行中
Ready——所有东西加载完毕,在等待队列等待CPU处理

2.可唤醒睡眠状态
S——程序使用CPU处理时,所使用CPU时间过长,(因为CPU处理进程的个数是有限的)所以程序被CPU中止进行下一个进程,进程在这个阶段可以被唤醒

3.不能唤醒睡眠状态
D——所需要的工作中的条件不满足,程序被终止,不能唤醒,等条件满足后才能被唤醒
不能被唤醒的情形:如加载磁盘里比较大的文件,没有加载完毕前不能被唤醒

4.暂停(停止)状态
T——进程被暂停。暂停状态是由用户调整的,所以需要用户的指令来唤醒

5.僵死态
Z——父级进程比子进程结束晚,子进程的资源由父级进程回收。当子进程在系统中所调用的系统资源没有结束时,如果父级进程先结束掉,则没有人回收子进程,一直占用资源成为僵死态。系统不能回收资源会越来越卡。

2.进程查看

2.1 Pstree 命令查看进程树:树形结构显示进程

[root@workstation Desktop]# pstree

在这里插入图片描述
注意:
因为内核不能负载这么多进程,所以开启守护进程systemd是守护进程对进程进行管理,systemd的作用是对子进程进行初始化,守护进程在系统开启时自动打开。

2.2 PS 命令的常规用法

==PS——显示当前命令执行时进程状态

[root@workstation Desktop]# whatis ps

在这里插入图片描述

[root@workstation Desktop]# man ps
在这里插入图片描述

ps命令参数功能
•a显示与终端相关进程(BSD)
•x显示所有与终端无关进程(BSD)
•u以用户为归类来显示进程状态信息(BSD)
•f层级结构显示进程信息(BSD)
•o指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid
• -e显示所有进程(uinx)
• -f显示完整格式信息(unix)
• -H层级结构显示进程的相关信息(unix)
• -o指定查看选项,pid,comm,nice,%cpu,%mem,nice (unix)

注意:UNLIX参数带(-)和BSD格式参数不带(-)


PS 命令显示信息

UNIX格式字段解释
USER用户名称
PID进程id
%CPU进程占用cpu的百分比
%MEM进程占用内存资源的百分比
VSZ虚拟内存占用大小
RSS常驻内容量(不被系统回收的资源)
TTY字符终端
STAT进程状态
START程序开始运行时间
TIME占用cpu总时间
COMMAND进程名称

在这里插入图片描述


BSD格式字段解释
UID用户名称
PID进程ID
PPID父级进程ID
C进程占用cpu的用量
STIME程序开始运行时间
TTY字符终端
TIMEcpu处理进程的时间
CMD进程名称

在这里插入图片描述


•ps  a——显示与终端相关进程(BSD)
在这里插入图片描述
在这里插入图片描述


•ps  x——显示所有与终端无关进程(BSD)
在这里插入图片描述


•ps  ax——显示所有进程,包括与终端相关进程和与终端无关进程(BSD)
注意:ps ax显示进程以资源的方式进行归类(PID从小到大排列)
在这里插入图片描述


•ps  u——以用户为归类来显示进程状态信息(BSD)
在这里插入图片描述


•ps  f ——层级结构显示进程信息(BSD)
在这里插入图片描述
在这里插入图片描述


• ps  -e 显示所有进程(uinx)
在这里插入图片描述


• ps -f 显示完整格式信息(unix)
在这里插入图片描述


• ps  -H 层级结构显示进程的相关信息(BSD)

[root@workstation Desktop]# ps -e -f -H
在这里插入图片描述


• ps  -o 指定查看选项,如pid,comm,nice,%cpu,%mem,nice
在这里插入图片描述
在这里插入图片描述
ps可以对当前的某些资源进行排序
[root@workstation Desktop]# ps axo pid,comm,%mem --sort=%mem正序显示
在这里插入图片描述


[root@workstation Desktop]# ps axo pid,comm,%mem --sort=-%mem倒序显示
在这里插入图片描述
在这里插入图片描述


2.3 pgrep 进程过滤命令

pgrep 显示指定信息进程

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

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


2.4 pidof 根据进程名称获取pid

• pidof  vim ——查看一个命令进程的ID

[root@workstation Desktop]# watch -n 1 date

在这里插入图片描述

2.5 top命令的用法

top命令可以真实查看进程状况,具有实时显示功能,默认3s刷新一次
在这里插入图片描述

top 显 示 进 程 信 息 详 解
top——系统当前时间
up——系统运行时长
user——登录当前系统的用户数量
load average——系统的负载,分别代表平均负载1分钟 5分钟 15 分钟的队列长度(uptime)
task——任务总量
running——运行进程数量
sleeping——休眠进程数量
stopped——暂停进程数量
zombie——僵死进程数量
%cpu(s)——cpu占用百分比/使用量
us——用户空间,用户占用CPU量
sy——内核空间,内核占用CPU量
ni ——nice,进程优先级调整占用的CPU量调整时间
id——空闲时间
wa ——等待I/O输入输出时间
hi ——处理硬件中断时间
si ——处理软件中断时间
st ——被虚拟化程序占用的百分比
mem——物理内存使用量
buff/cache——缓存=buff等待写入磁盘的+cache读取的,都可以被系统回收利用(内存的空闲使用量=free+buff/cache)
Swap——虚拟内存使用量,交换分区占用
PR——优先级
NI ——优先级代表的nice值
VIRT——虚拟CPU
RES——常驻内存
SHR——贡献资源
S——状态

top的相关参数

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

P ——cpu百分比排序
在这里插入图片描述


M ——内存百分比排序

在这里插入图片描述


T ——累计占用cpu时间排序
在这里插入图片描述


l ——开启/关掉uptime信息
uptime直接显示系统负载,l关闭负载
在这里插入图片描述
在这里插入图片描述


t ——开启/关闭task&cpu信息,显示模式不一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


1——显示整体CPU整体负载
在这里插入图片描述


s ——调整刷新频率
在这里插入图片描述


k ——终止进程
在这里插入图片描述


u ——查看指定用户进程 (q退出)
在这里插入图片描述
在这里插入图片描述


top命令参数功能
top -d指定刷新间隔
top -b以批次方式显示
top -n显示批次数量

top -d 指定刷新间隔

[root@workstation Desktop]# top -d 1

在这里插入图片描述


top -b 以批次方式显示

[root@workstation Desktop]# top -b -d1

在这里插入图片描述


top -n 显示批次数量

[root@workstation Desktop]# top -b -d1 -n 2

3.进程优先级

按照资源占用划分进程类型

资源使用量进程类型
cpu使用密集(计算量大,如视频处理)CPU-Bound
I/O使用密集(如编辑器)I/O-Bound

注意:对CPU使用密集的程序多分配CPU,但是要调高I/O使用密集程序的优先级

内核优先级的范围
•对Linux而言优先级被划分成固定个数 (0-139),共140个优先级(内核把程序划分为140个队列)
1-99为实时有优先级,数字越大优先级越高,不能人为干预,是内核对于程序本身的控制,系统自用
100-139为静态优先级(共40个),数字越小优先级越高,是人为能干预的

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

在这里插入图片描述
reince  –n  优先级  pid ——更改进程优先级
在这里插入图片描述
在这里插入图片描述

• nice   –n  优先级  程序——调整开启进程时的指定优先级
在这里插入图片描述


4.进程前后台调用

进程前后台调用相关命令

指令含义
jobs查看后台任务
ctrl+z将前台运行进程打入后台
bg+后台运行job号激活后台挂起的进程
fg+后台运行job号调回进程
&运行在后台

ctrl+z——将前台运行进程打入后台在这里插入图片描述


jobs——查看后台任务
在这里插入图片描述


bg+后台运行job号——激活后台挂起的进程

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


fg+后台运行job号—— 调回进程
在这里插入图片描述


&——进程开启后运行在后台
在这里插入图片描述


5.信号

5.1 man 7 signal——查看信号

[root@workstation Desktop]# man 7 signal

在这里插入图片描述


5.2 进程信号

可控信号类型

可控信号含义
1刷新
2中断键盘输入
3退出键盘
9强制结束进程
15正常关闭进程
18激活进程
19强制暂停(系统不阻止)
20正常暂停(会被系统阻塞,系统认为不适合暂停)

1 ——刷新
让进程再次读取配置


2 ——中断键盘输入
在这里插入图片描述


3 ——退出键盘
快捷键:ctrl+\退出鼠标,鼠标动才会出现(如:看视频时鼠标会隐藏)


9 ——强制结束进程
在这里插入图片描述


15——正常关闭
在这里插入图片描述


18 ——激活进程
在这里插入图片描述


19——强制暂停(系统不阻止)
在这里插入图片描述


20——正常暂停(会被系统阻塞,系统认为不适合暂停)
在这里插入图片描述


5.3 信号命令

kill  信号   pid
在这里插入图片描述
在这里插入图片描述


killall   信号   进程名称
在这里插入图片描述


pkill    信号   进程名称   (类似于pgrep)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


6.守护进程systemd

服务型软件的控制不能用kill或者killall这种单独的程序管理工具进行管理,要用systemctl进行管理
在这里插入图片描述

6.1 守护进程的定义

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

6.2 守护进程类型

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

systemctl 用法之一

指令用途
systemctl list-unit-files查看服务开机运行情况
systemctl list-units查看服务当前运行情况
systemctl list-dependencies查看服务依赖性
systemctl status service查看服务状态
systemctl start service开启服务
systemctl stop service关闭服务
systemctl reload service重新加载服务配置

设定实验环境:
在虚拟机中(超级用户):
网卡设定: nm-connection-editor
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
真机下运行:ssh -l root 172.25.254.165
在这里插入图片描述


systemctl    list-units    --type=service
查看系统当中所有服务当前的运行情况

在这里插入图片描述
在这里插入图片描述
sshd服务使主机可以让别人通过ssh连接


systemctl    list-unit-files   --type=service
查看服务开机运行情况

在这里插入图片描述


systemctl   list-dependencies   service    查看服务依赖性
在这里插入图片描述


systemctl   status  service    查看服务状态
在这里插入图片描述


systemctl   stop  service    关闭服务
在这里插入图片描述
在这里插入图片描述
关闭sshd服务后,真机无法与虚拟机相连


systemctl   start  service    开启服务
在这里插入图片描述在这里插入图片描述
sshd服务开启后,真机可以和虚拟机相连


systemctl   restart  =stop+start   

在这里插入图片描述
在这里插入图片描述
systemctl   reload  service    重新加载服务配置(类似于kill -1)
在这里插入图片描述


systemctl 用法之二

指令用途
systemctl restart service重新启动服务
systemctl enable service设定服务开启启动
systemctl enable –now service设定服务开机启动并开启服务
systemctl disable service设定服务开机关闭
systemctl set-default multi-user.target设定系统运行级别为无图形网络模式
systemctl set-default graphical.target设定系统运行级别为图形网络模式

systemctl  restart  service  重新启动服务


systemctl  disable  service  设定服务开机关闭
在这里插入图片描述


systemctl  enable  service   设定服务开启启动
后面需要start开启

在这里插入图片描述


systemctl  enable –now  service   一次性设定服务开机启动并开启服务(=enable+start)
在这里插入图片描述


systemctl  set-default  multi-user.target   设定系统运行级别为无图形网络模式
在这里插入图片描述
在这里插入图片描述
init 5手动开启图形(不是永久的)
在这里插入图片描述
在这里插入图片描述


systemctl  set-default  graphical.target   设定系统运行级别为图形网络模式
是永久设定
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值