欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux系统中进程的管理

程序员文章站 2024-03-23 21:19:10
...

一、进程是什么

程序是静态的是磁盘上的一个文件,进程是运行中的程序的一个副本,进程是动态的,当程序被加载到磁盘上,程序就成为了进程。进程是存在生命周期的,有准备期,运行期以及终止期

二、进程的状态

状态 定义
R(Running) 可执行状态(Running,Ready)
S(Interruptible) 可唤醒状态
D(Uninterruptible) 不可唤醒状态
T(Stopped) 暂停状态
Z(Zombie) 僵死状态

三、进程的查看

1、查看进程树

命令为pstree, 进程是运行的程序在系统中的存在形式,通过查看进程的状态信息,我们可以了解进程占用的系统资源情况,对系统的运行状态进行分析、调整,从而让系统保持在一个平稳的状态下运行
Linux系统中进程的管理

2、显示当前命令执行时进程状态

命令为ps(Process Status)可以列出与本次登陆系统有关的进程信息

  • BSD风格
a 显示与终端相关进程
x 显示所有与终端无关的进程
u 以用户归类来显示进程状态信息
f 层级结构显示进程信息
o 指定查看选项

Linux系统中进程的管理Linux系统中进程的管理Linux系统中进程的管理Linux系统中进程的管理Linux系统中进程的管理

  • unix风格
-e 显示所有进程
-f 显示完整格式信息
-H 层级结构显示进程的相关信息
-o 查看指定选项

Linux系统中进程的管理Linux系统中进程的管理Linux系统中进程的管理Linux系统中进程的管理

  • ps命令显示信息
字段 解释
USER 用户名称
PUD 进程id
%CPU cpu用量百分比
%MEM 内存用量百分比
VSZ 占用虚拟内存大小
RSS 常驻内存集大小
TTY 字符终端
STAT 进程状态
START 运行时间
TIME 占用cpu时间
COMMAND 进程名称
3、显示指定进程信息

命令为pgrep

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

切入student用户并查看用户id
Linux系统中进程的管理查看进程id
Linux系统中进程的管理
Linux系统中进程的管理
显示终端pts/1终端进程
Linux系统中进程的管理显示完整格式进程名
Linux系统中进程的管理显示子进程
Linux系统中进程的管理

4、根据进程名称获取pid

命令为pidof
Linux系统中进程的管理

5、动态显示内存中的进程信息

命令为top

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

top命令
Linux系统中进程的管理关闭uptime信息
Linux系统中进程的管理关闭task&cpu时间状态1
Linux系统中进程的管理关闭task&cpu时间状态2
Linux系统中进程的管理关闭task&cpu时间状态3
Linux系统中进程的管理调整刷新频率
Linux系统中进程的管理
查看student用户进程信息
Linux系统中进程的管理
Linux系统中进程的管理终止firellwd进程
Linux系统中进程的管理

  • 命令参数
-d 指定刷新间隔
-b 以批次方式显示
-n 显示批次数量
  • top显示进程信息详解
    top 系统当期时间
    up 系统运行时常
    user 登录当前系统的用户数量
    load average 平均负载1分钟 5分钟 15分钟的队列长度
    task 任务
    %cpu cpu占用百分比
    mem 物理内存
    swap 交换分区
    其中%cpu中不同参数的含义如下
us 用户空间
sy 内核空间
ni nice调整时间
id 空闲时间
wa 等待io
hi 处理硬件中断
si 处理软件中断
st 被虚拟化程序占用的百分比

四、进程优先级

  • 优先级范围
    在Linux中优先级由固定的数字表示(0-139),其中1-99为实时优先级,数字越大优先级越高,是系统自用的,不用手动处理,100-139为静态优先级,数字越小优先级越高

  • NICE值
    用数字-20-19对应静态优先级,普通用户只能够调低优先级而超级用户可以任意调整
    ps ax -o nice,pid,comm可以查看系统中进程的优先级
    nice -n 优先级数字 程序以及renice -n 优先级 程序pid可以调整进程的优先级

五、进程的前后台调用

指令 含义
jobs 查看后台任务
ctrl+z 将前台运行程序打入后台
bg **后台进程
fg 调回进程
& 运行在后台

Linux系统中进程的管理
将gedit调回前台,状态变为running
Linux系统中进程的管理
不能通过bg指令将vim**,它会立即回到stopped状态
Linux系统中进程的管理

六、信号

  • 可控信号类型
    命令为man 7 signal
可控信号 含义
1 刷新
2 中断键盘输入
3 退出键盘
9 强制结束
15 正常关闭
18 **进程
19 强制暂停
20 正常暂停

信号指令为

kill 信号 pid
pkill 信号 进程名称

七、系统守护进程

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

  • 守护进程的类型
守护进程类型 使用系统及特点
Sysv init 沿用到rehl6 链式开启
upstart 在rehl6中应用并行启动
systemd rhel7后使用独立完成启动
  • systemctl 用法
指令 用途
systemctl list-unit-files --type=service 查看服务开机运行情况
systemctl list-units --type=service 查看服务当前运行情况
systemctl list-dependencies 查看服务依赖性
systemctl status service 查看服务状态
systemctl start service 开启服务
systemctl stop service 关闭服务
systemctl restart service 重新启动服务
systemctl enable service 设定服务开机启动
systemctl disable service 设定服务开机关闭
systemctl enable --now service 设定服务开机启动并开启服务
systemctl set-default multi-user.target 设定系统运行级别为无图形网络模式
systemctl set-default graphical.target 设定系统运行级别为图形网络模式

查看服务开机运行情况
Linux系统中进程的管理查看服务当前运行情况
Linux系统中进程的管理查看sshd服务的依赖性
Linux系统中进程的管理查看sshd状态显示正在运行并且开机不启动
Linux系统中进程的管理停止sshd
Linux系统中进程的管理当sshd服务关闭后,真机和虚拟机之间的连接中断
Linux系统中进程的管理打开sshd服务并查看此时服务状态
Linux系统中进程的管理打开sshd服务后真机和虚拟机可以ssh上
Linux系统中进程的管理查看sshd服务状态以及此时的进程号
Linux系统中进程的管理将服务restart后服务的进程号会改变
Linux系统中进程的管理用reload后刷新服务配置进程号不会改变
Linux系统中进程的管理设定ssh服务开机关闭
Linux系统中进程的管理将sshd服务关闭并查看状态
Linux系统中进程的管理设定开机开启服务并且开启sshd服务
Linux系统中进程的管理设定系统运行级别为无图形网络模式
Linux系统中进程的管理Linux系统中进程的管理命令init 5能暂时手动开启图形模式
Linux系统中进程的管理设定系统运行级别为图形网络模式
Linux系统中进程的管理