项目4 管理进程与系统服务 课件(共27张PPT)-《Linux网络操作系统项目教程》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

项目4 管理进程与系统服务 课件(共27张PPT)-《Linux网络操作系统项目教程》同步教学(人民邮电版)

资源简介

(共27张PPT)
项目4 管理进程与系统服务
Linux网络操作系统项目式教程(第二版)
任务1
进程管理和任务调度
进程基本概念
1
2
进程监控和管理
3
任务调度管理
1
进程基本概念
1
进程基本概念
进程存储在内部存储设备(内存),而程序存储在外部存储设备(如硬盘等)
进程在内存中对应一个进程控制块(Process Control Block,PCB)
每个进程都有一个进程号(Process ID,PID)
进程是动态的,程序是静态的
程序是代码和数据的集合,是经过编译后形成的可执行二进制文件
进程是程序运行时在内存中产生的实例。一个程序可以产生多个进程实例
进程具有多个状态,如就绪、运行、等待、挂起等
进程是临时的,程序是持久的
程序文件一旦生成就一直存储在磁盘中,除非手动删除
进程只有在程序运行时才会产生。进程可能正常结束或异常退出
进程与程序
1
进程基本概念
每个进程都有一个进程号(Process ID,PID)
除了PID为1的systemd进程以,其他进程都是由父进程创建的
一个父进程可以创建多个子进程
一般来说,当父进程终止时,子进程也随之终止,反之则不然
父进程可以向子进程发送特定的信号对子进程进行管理
如果父进程不能成功终止子进程,或者子进程因为某些异常情况无法自行终止,就会产生“僵尸”进程
父进程与子进程
1
进程基本概念
创建状态。操作系统为进程申请一个空白PCB并写入相关信息
创建->就绪。进程资源需求可以满足进入就绪队列
就绪->运行。选择一个进程并分配CPU时间片
运行->终止。进程正常或异常终止
运行->阻塞。等待某些事件才能继续运行
阻塞->就绪。等待事件发生时会重新进入就绪状态
运行->就绪。CPU时间片用完或被其他进程抢占
退出状态。释放资源
进程状态
2
进程监控与管理
2
进程监控与管理
功能:查看系统中当前有哪些进程,选项非常多
只能显示系统进程的静态信息
ps 命令
[zys@centos7 ~]$ ps aux // 注意,选项前可以不使用“-”
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 S 06:41 0:00 [kthreadd]
zys 11218 0.0 0.2 151784 5500 pts/1 S+ 09:15 0:00 vim file1
2
进程监控与管理
功能:查看进程间的相关性和依赖关系
pstree 命令
[zys@centos7 ~]$ pstree -pu | more
systemd(1)-+-ModemManager(6553)-+-{ModemManager}(6623)
| `-{ModemManager}(6625)
|-at-spi-bus-laun(9313,zys)-+-dbus-daemon(9318)---{dbus-daemon}(9319)
2
进程监控与管理
功能:查看进程信息的动态变化,默认每3秒刷新一次进程信息
显示系统硬件资源的占用情况等
有助于系统管理员监控系统运行状态或分析系统故障
top 命令
[zys@centos7 ~]$ top -d 10
top - 09:51:07 up 3:09, 3 users, load average: 0.23, 0.11, 0.07
Tasks: 210 total, 3 running, 207 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.4 us, 0.3 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9674 zys 20 0 567620 26968 19440 S 0.2 1.3 0:10.65 vmtoolsd
7176 root 20 0 57382 19320 6100 S 0.1 1.0 0:02.47 tuned
2
进程监控与管理
功能:将命令放入Bash后台运行而不影响终端窗口
在命令结尾输入“&”符号即可
通过“&”放入后台的进程仍然处于运行状态
前后台进程切换-&
[zys@centos7 ~]$ find . -name *history & // 将find命令放入后台运行
[1] 9863 <== 这一行显示任务号和进程号
./.bash_history <== 这一行是find命令的输出
[1]+ 完成 find . -name *history <== 这一行表示find命令在后台运行结束
2
进程监控与管理
进程在前台运行时按【Ctrl+Z】组合键,进程会被放入后台并被处于暂停状态
前后台进程切换-【Ctrl+Z】组合键
[zys@centos7 ~]$ find / -name file1 &>/dev/null // 按Enter键后再按【Ctrl+Z】组合键
^Z
[1]+ 已停止 find / -name file1 &>/dev/null
[zys@centos7 ~]$ bc // 按Enter键后再按【Ctrl+Z】组合键
^Z
[2]+ 已停止 bc
2
进程监控与管理
功能:查看从终端窗口放入后台的进程
“+”号表示最近放入后台的命令
“-”表示倒数第2个放入后台的命令
前后台进程切换-jobs 命令
[zys@centos7 ~]$ jobs -l
[1]- 10008 停止 find / -name file1 &>/dev/null <== 倒数第2个放入后台的进程
[2]+ 10025 停止 bc <== 最后一个放入后台的进程
2
进程监控与管理
功能:使后台暂停的进程重新开始运行
命令后跟任务号
前后台进程切换-bg 命令
[zys@centos7 ~]$ bg 1 ; jobs -l // bg命令后跟任务号
[1]- find / -name file1 &>/dev/null &
[1]- 10008运行中 find / -name file1 &>/dev/null &
[[2]+ 10025 停止 bc
2
进程监控与管理
功能:把后台的进程恢复到前台继续运行
前后台进程切换-fg 命令
[zys@centos7 ~]$ jobs -l
[2]+ 10025 停止 bc
[zys@centos7 ~]$ fg 2 // fg命令后跟任务号
bc
11*16 <== 这一行是在bc交互环境中输入的
176 <== 这一行是11*16的结果
quit <== 退出bc交互环境
2
进程监控与管理
功能:通过内核向进程发送信号以执行某些特殊的操作,如挂起进程、正常退出进程或强制终止进程等
终止进程-kill 命令
[zys@centos7 ~]$ ps -f -C vim,bash,ps
UID PID PPID C STIME TTY TIME CMD
zys 10341 10334 0 08:31 pts/0 00:00:00 bash
zys 13457 10520 0 11:26 pts/1 00:00:00 vim file1
zys 13744 10341 0 11:40 pts/0 00:00:00 ps -f -C vim,bash,ps
[zys@centos7 ~]$ kill -9 13457 // 结束PID为13457的进程
3
任务调度管理
3
任务调度管理
功能:设置需要周期执行的任务
crontab-命令格式
crontab [ -u uname ] | -e | -l | -r
3
任务调度管理
crontab-示例
[zys@centos7 ~]$ crontab -e
*/3 * * * * echo “time is `date`” >>/tmp/cron_test <== 输入该行内容后保存设置并退出
[zys@centos7 ~]$ crontab -l // 查看当前crontab周期任务
*/3 * * * * echo “time is `date`” >>/tmp/cron_test
[zys@centos7 ~]$ tail -f /tmp/cron_test // 观察文件/tmp/cron_test的实时变化
“time is 2022年 12月 04日 星期日 06:15:01 CST”
“time is 2022年 12月 04日 星期日 06:18:01 CST”
“time is 2022年 12月 04日 星期日 06:21:01 CST”
3
任务调度管理
功能:设置在指定的时间执行某个一次性任务
time 参数是计划任务的执行时间,可以采用下列时间格式的任何一种
HH:MM [ am|pm] [Month] [Date] [Year],如11:10 am Jan 18 2022
HH:MM YYYY-MM-DD,如11:10 2022-01-18
MMDDYY、MM/DD/YY,指定日期,如011822、01/18/22
特定时间:如now表示当前时刻,noon代表12:00 pm
time + n [minutes | hours | days | weeks],表示在某个时间点之后某一时刻执行,如now + 3 hours表示当前时刻的3小时后
at-命令格式
at [ -l ] [ -f fname ] [-d jobnumber ] time
3
任务调度管理
at-示例
[zys@centos7 ~]$ at now +3 minutes
at> echo "time is `date`" >> /tmp/at_test // 这是要执行的命令
at> // 按【Ctrl+D】组合键退出
job 1 at Sun Dec 4 06:20:00 2022
[zys@centos7 ~]$ at -l // 查看at计划任务,相当于atq命令
1 Sun Dec 4 06:20:00 2022 a zys
[zys@centos7 ~]$ tail -f /tmp/at_test // 观察文件/tmp/at_test的实时变化
time is 2022年 12月 04日 星期日 06:20:00 CST // 只在指定时间执行一次
任务2
系统服务管理
1
系统启动和初始化
4
系统管理工具
4
系统服务管理
1
系统服务管理
系统启动过程
BIOS自检。BIOS是开机后计算机主动执行的第1个程序。BIOS从CMOS读取计算机硬件设备的配置信息,检查外围硬件设备是否能够正常工作
启动引导程序。BIOS根据启动设备的顺序查找用于启动操作系统的驱动设备,并从中读取启动引导程序。完成启动引导程序的读取之后,启动引导程序开始接管系统启动的控制权
加载操作系统内核。启动引导程序最主要的功能是加载操作系统内核,并将系统启动的控制权转交给内核
操作系统初始化。系统初始化工具负责操作系统的初始化工作,准备操作系统的运行环境
2
系统服务管理
系统启动工具-systemd
systemd是常驻内存的守护进程,PID为1,其他进程都是systemd的直接或间接子进程
并行启动系统服务,即同时启动多个互不依赖的系统服务
支持按需响应(on-demand)的服务启动方式,当有用户使用这个服务时就启动,使用完即可关闭,直到下次使用时再启动
把系统服务定义为一个服务单元(unit),每个单元都有对应的单元配置文件,相当于SysVinit里的服务脚本
兼容SysVinit启动脚本,仍然可以使用这些这些脚本启动系统服务
已经成为各Linux发行版的系统初始化工具
3
系统服务管理
系统管理工具-systemctl
systemctl cmd sername.service
谢谢

展开更多......

收起↑

资源预览