初学Linux之进程管理

1 进程:正在运行的程序

1.1 进程是什么?

  程序放置在存储媒体中(如硬盘、光盘、软盘、磁带等),为实体文件的形态存在
  进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行的中的程序。总结来说,每个执行的程序(代码)都称为一个进程, 每一个进程都分配一个ID号。

1.2 进程的状态

状态含义
R(running)正在运行
S(sleep)睡眠状态,可以被唤醒
D不可被唤醒的睡眠状态,通常进程可能在等待i/o的情况 (磁盘读取)
T(stop)停止状态,默认不能唤醒,可以用命令手段强制唤醒,不等于结束
Z(zombie)僵尸状态,程序已经终止但却无法被移出至内存外

R、S、 D 为都系统运行的状态,T为停止状态,Z为僵尸状态

1.3 查看进程
1.3.1 图形方式查看

   命令行输入:gnome-system-monitor
在这里插入图片描述

1.3.2 命令方式查看

命令选项含义
ps当前shell的中进程
psa所有shell中运行的进程,有环境本身,没有系统资源
ps-a所有shell中运行的进程,不包含环境(bash)
ps-A所有运行的进程(系统中的全部),包含环境,类似pa a
ps-d显示系统中所有进程,不包含shell
ps-u显示进程用户信息
psx列出系统中所有运行包含tty输出设备的进程
psf显示进程的父子关系
pse显示进程的详细信息(系统资源的调用)
[kiosk@foundation72 ~]$ ps -u      #显示用户信息,其他选项查看类似
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
kiosk     2577  0.0  0.0 116420  3088 pts/0    Ss   19:12   0:00 bash
kiosk     6131  0.0  0.0 151056  1828 pts/0    R+   23:29   0:00 ps -u

1.3.3 命令常用组合:

命令选项含义
psaux显示系统中所有进程并显示进程用户
psef显示进程详细信息并显示进程父子关系
psax显示当前系统中的所有进程
pstree显示当前系统的进程树

注:父级进程结束一般字程序就结束,但是也有例外,父级关闭后还运行的叫孤儿进程,受系统初始化进程控制

1.4 显示进程指定信息

命令选项作用对象作用对象
ps-ocomm显示名称
ps-ouser显示用户
ps-ogroup显示进程所有组
ps-onice显示进程优先级
ps-o%cpu显示cpu使用率
ps-o%mem显示内存使用率
ps-opid显示进程id
ps-ostat显示进程状态
[kiosk@foundation72 ~]$ ps -o comm,user,group,nice,%cpu,%mem
COMMAND         USER     GROUP     NI %CPU %MEM
bash            kiosk    kiosk      0  0.0  0.0
ps              kiosk    kiosk      0  0.0  0.0

1.5 进程排序

ps ax --sort=%mem 显示当前系统中的所有进程,并且按内存使用率由小到大排序
ps ax --sort=-%cpu 显示当前系统中的所有进程,并且按cpu使用率由大到小排序

例:输出所有进程内存使用率排前5的pid

[kiosk@foundation72 ~]$ ps -A --sort=-%mem -o pid| head -n6 | tail -n 5
 2624
 2046
 1530
 2413
 2552

1.6 stat中显示信息的含义

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

1.7 进程优先级

1.7.1 进程优先级范围:-20~19
1.7.2 优先级查看 ps ax -o nice,comm
1.7.3 指定某个优先级开启进程:
nice -n 优先级数字 进程名字
nice -n -10 vim 开启vim并以-10为vim的优先级
调整优先级:renice -n 优先级数字 进程id
在这里插入图片描述
在这里插入图片描述
注:优先级负号,越负说明优先级越高

1.8 进程后台前台切换

ctrl+z 把正在运行的打入后台挂起,不运行
jobs 查看后台的进程 ,+号是正在进行,
bg jobsnum 把后台暂停的进程运行起来
fg jobsnum 把后台的进程调回前台
comm & 直接让命令在后台进行
gedit & 开启时在后台执行,不占用终端(默认是占用终端的)
注:如果fg不加后面的jobsnum, 默认调回+号的 ,+调回以后,-(次优先)变为+
在这里插入图片描述

1.9 进程信号

1.9.1 常用信号等级:(能够处理的)

信号等级含义
1进程不关闭的情况下,重新加载配置
2删除进程在内存中的数据 相当于ctrl+c 释放行命令符
3删除鼠标在内存中的数据
9强行结束单个进程(不能被阻塞)
15正常关闭进程 (可能会被阻塞)
18运行暂停的进程
19暂停某个进程 (不能被阻塞)
20把进程打入后台 (可以被阻塞)

man 7 singal 查看信号详细信息

1.9.2 处理进程信号

kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号 加的是进程条件,最多的是对用户发起的进程进行处理
在这里插入图片描述
#!##############################################################
在这里插入图片描述

2 进程的动态监控

2.1 top
top命令实时动态刷新显示服务器状态信息,并且可以通过交互式命令自定义显示内容在这里插入图片描述
2.2 各行各列的含义:
第一行:显示服务器概况

各列依次为:18:16:34 up 11 min 服务器运行了多长时间;2 users当前有多少用户登陆;load average: 0.05, 0.24, 0.25
平均负载(1分钟,5分钟,15分钟)

第二行:进程信息

各列依次为:207 total 进程总数;1 running 正在运行进程数;206 sleeping睡眠进程数;0 stopped停止进程数; 0 zombie僵尸进程数

第三行:cpu信息

%cpu(s):
2.1 us 用户空间cpu占比
0.6 sy 内核空间cpu占比
0.0 ni 用户空间改过优先级的进程cpu占比
97.3 id 空闲cpu占比
0.0 wa 待输入输出cpu占比
0.0 hi 硬中断占比
0.0 si 软中断占比

第四行:内存信息

3926480 total 物理内存总量
2287172 free 空闲总量
804996 used 使用中总量
834312 buff/cache 缓冲的内存量

第五行:交换分区信息

3932156 total 交换区总量
3932156 free 空闲总量
0 used 使用总量
2696140 avail Mem 可用总量
第七行及以下显示了各进程(任务)的状态监控

内容表示意义
PID进程ID
USER进程所有者
PR进程优先级
NInice值,用来调整进程优先级
VIRT进程使用的虚拟内存总量,单位KB。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位KB
S进程状态
%CPU上次更新到现在的CPU占用百分比
%MEM进程所占用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND命令名

2.3 交互式命令:

命令结果
1显示 cpu每个核的负载
s调整刷新频率
ccpu负载排序
m内存使用量排序
h查看帮助
u查看指定用户进程
k对指定进程发起信号
q退出

k命令的结果如下,其他结果类似可自行验证
在这里插入图片描述

3 控制服务

3.1 systemd

系统初始化进程,系统开启的第一个进程,pid为1
系统初始化进程可以对服务进行相应的控制

3.2 服务控制命令: systemctl
以sshd服务为例:

命令对应的服务操作
systemctl status sshd查看服务状态 inactive active
systemctl start sshd开启服务
systemctl stop sshd关闭服务
systemctl restart sshd重启服务
systemctl reload sshd重新加载服务配置
systemctl enable sshd设定服务开机启动
systemctl disable sshd设定服务开机不启动
systemctl list-units列出已经开启服务当前状态
systemctl list-units-files列出所有服务开机启动的状态disable enable static(不可更改)
systemctl list-dependencies列出服务的依赖
systemctl set-default multi-user.target设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target设定系统启动级别为图形模式

在这里插入图片描述
注:服务器并非指硬件,指的是装有服务软件的主机,该端称为服务端。连接该服务端使用服务的为客户端

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值