资源简介 (共37张PPT)*项目5 操作系统初始化与进程管理Linux操作系统管理与服务器配置(Rocky Linux 8.6)*项目描述A公司是一家拥有上百台服务器的系统集成服务公司。该公司的网络管理员众多,作为一名 Linux 操作系统管理员,了解操作系统初始化与进程管理是非常重要的工作。操作系统初始化是实现操作系统控制的第一步,也是体现操作系统优劣的重要部分。了解 Linux 操作系统的初始化及启动和执行的过程,对于进一步掌握 Linux 操作系统,解决相关启动问题是十分有帮助的。进程是程序在计算机中的一次运行活动,也是操作系统进行资源分配和调度的基本单位。只要运行程序就会启动进程。Linux 操作系统创建新的进程时,会为其指定一个唯一的编号,即 PID(Process ID,进程号),并以此区分不同的进程。通过进程管理,用户可以了解操作系统执行的状态及各程序占用资源的多少等情况,判断操作系统的性能是否正常。本项目主要介绍 Linux 操作系统的初始化过程,查看和管理进程的方法,包括启用进程和停止进程及任务调度的方法等。项目5 操作系统初始化与进程管理*项目5 操作系统初始化与进程管理*任务5.2 进程管理项目5 操作系统初始化与进程管理任务描述A公司的网络管理员小彭在日常管理工作中,要经常查看系统的进程并进行管理,需要定制不同运行级别下自动启动的服务和进程,还需要根据工作需要设置系统在某个时间执行特定的命令或进程以减轻维护工作量。任务5.2 进程管理任务要求使用Linux操作系统能够有效地管理和跟踪进程,在Linux操作系统中,启动、停止、终止及恢复进程的过程称为进程管理。Linux操作系统提供了许多命令,能让用户高效管理进程。本任务的具体要求如下所示。(1)查看tomcat进程,并结束整个进程。(2)查询用户user1的进程。(3)使用vim编辑器编辑1.txt文件,使用“Ctrl+Z”组合键将vim进程挂起,切换至后台,查看后台作业,再将后台作业切换回前台。(4)设置用户user1每周星期一、星期三早上4点钟将/home/user1目录下的所有文件压缩至/bak目录下,并取名为user1.tar.gz。(5)设置在2022年12月31日23点59分,向所有登录用户发送“Happy New Year!”。任务5.2 进程管理任务资讯1.认识进程进程由程序产生,但进程不是程序。进程与程序的区别在于程序是一系列命令的集合,是静态的,可以长期保存;进程是程序的一次运行过程,是动态的,只能短暂存在,它动态地产生、变化和消亡。进程具有独立性、动态性与并发性的特点,进程具有自己的生命周期和各种不同的状态。任务5.2 进程管理任务资讯2.进程的状态通常操作系统将进程分为三种基本状态。(1)就绪状态。就绪状态指的是当进程分配到除 CPU 以外的所有必要资源后,只要再获得 CPU,便可立即执行的状态。在一个操作系统中,将处于就绪状态的进程排成一个队列,即就绪队列。(2)执行状态。执行状态指的是进程已获得 CPU 而正在执行的状态。在单处理器操作系统中,处于执行状态的进程只有一个;在多处理器操作系统中,处于执行状态的进程有多个。任务5.2 进程管理任务资讯(3)阻塞状态。阻塞状态指的是正在执行的进程由于发生某事件而暂时无法继续执行时的状态,又称为等待状态或封锁状态。导致进程阻塞的典型事件有 I/O 请求、申请缓冲空间等。通常将这种处于阻塞状态的进程也排成一个队列。有的操作系统则根据阻塞原因的不同,把处于阻塞状态的进程排成多个队列。处于就绪状态的进程,在调度程序为其分配了 CPU 后,该进程便可执行,相应地,它就由就绪状态转为执行状态。正在执行的进程也称为当前进程,如果因分配给它的时间片已用完而暂停执行,那么该进程便由执行状态又回到就绪状态;如果因发生某事件而使进程的执行受阻(例如,进程请求访问某临界资源,而该资源正被其他进程访问),无法继续执行,那么该进程将由执行状态转为阻塞状态。任务5.2 进程管理任务资讯任务5.2 进程管理3.进程的优先级在 Linux 操作系统中,进程的优先级对于操作系统的性能和响应时间至关重要。进程的优先级决定了该进程在操作系统资源分配中所占的比例。哪些进程先执行,哪些进程后执行,都由进程优先级来控制。因此,配置进程优先级对多任务环境的 Linux 操作系统很有用,可以更好地管理和优化操作系统的性能。任务资讯4. 进程管理相关命令在Linux操作系统中,启动、停止、终止及恢复进程的过程称为进程管理。Linux提供了许多命令可用于查看、管理系统进程,能让用户高效管理进程。下面介绍几个常用的进程管理类命令。(1)ps命令。ps命令可用于查看当前系统进程执行的情况,其基本语法如下所示。ps [选项]任务5.2 进程管理任务资讯ps命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。ps命令的常用选项及其功能见表5-2-1。任务5.2 进程管理任务资讯ps命令的基本用法如例5.2.1所示。例5.2.1:ps命令的基本用法任务5.2 进程管理任务资讯(2)top命令。ps命令可以一次性显示出当前系统中进程状态,但使用此方式得到的信息缺乏时效性,top命令可以动态地持续监听进程的运行状态,top命令的基本语法如下所示。top [选项]top命令除了显示每个进程的详细信息外,还可以显示系统硬件资源的占用情况。top命令的常用选项及其功能见表5-2-2。任务5.2 进程管理任务资讯top命令的基本用法如例5.2.2所示。例5.2.2:top命令的基本用法任务5.2 进程管理任务资讯(3)前台及后台进程切换。在命令的尾部输入“&”,可把命令转到后台运行,而不影响终端窗口的操作。后台运行命令如例 5.2.3 所示。例 5.2.3:后台运行命令任务5.2 进程管理任务资讯jobs 命令用于显示任务列表及任务状态,包括后台运行的任务。bg 命令将后台处于暂停状态的进程重新进入运行状态。fg 命令将后台的进程恢复到前台继续运行。jobs、bg 及 fg 命令的基本用法如例 5.2.4 所示。任务5.2 进程管理任务资讯(4)kill 命令。kill 命令会向操作系统内核发送一个信号(多是终止信号)和目标进程的 PID,然后操作系统内核根据收到的信号类型,对指定进程进行相应的操作。kill 命令的基本语法如下所示。kill [选项] pidkill 命令的常用选项及其功能见表 5-2-3。任务5.2 进程管理任务资讯使用 kill-l 命令可列出所有可用信号,而最常用的三种信号如下所示。① 1(HUP):重新加载进程。② 9(KILL):杀死一个进程。③ 15(TERM):正常停止一个进程。kill 命令的基本用法如例 5.2.5 所示。例 5.2.5:kill 命令的基本用法任务5.2 进程管理任务资讯(5)free 命令。free 命令用于查看操作系统的内存状态,包括可用和已用的物理内存、交换内存和内核缓冲区内存。free 命令的基本语法如下所示。free [选项]free 命令的常用选项及其功能见表 5-2-4。任务5.2 进程管理任务资讯使用不带参数的 free 命令查看操作系统内存状态的示例,如例 5.2.6 所示。使用带参数的 free 命令查看操作系统内存状态的示例,如例 5.2.7 所示。任务5.2 进程管理任务资讯(6)nice 命令。nice 命令用来调整进程的优先级,nice 命令共有 40 个等级,从-20(最高优先级)~19(最低优先级)。数值越小,优先级越高;数值越大,优先级越低。需要注意的是,只有管理员用户 root 才有权调整-20~19 范围内的优先级,而普通用户只能调整 0~19 范围内的优先级。nice 命令的基本语法如下所示。nice [选项] 命令nice 命令的常用选项及其功能见表 5-2-5。任务5.2 进程管理任务资讯nice 命令的基本用法如例 5.2.8 所示。任务5.2 进程管理任务资讯(7)renice 命令。renice 命令与 nice 命令一样,都用于修改进程的优先级,它们之间的区别在于 nice 命令修改的是即将运行的进程的优先级,而 renice 命令修改的是正在运行的进程的优先级。renice命令的基本语法如下所示。renice 优先级数值 选项renice 命令的常用选项及其功能见表 5-2-6。任务5.2 进程管理任务资讯renice 命令的基本用法如例 5.2.9 所示。例 5.2.9:renice 命令的基本用法任务5.2 进程管理任务资讯5.周期性任务调度同Windows 操作系统中的用户可以指定计划任务一样,在 Linux 操作系统中,用户也可以设置计划任务,让操作系统能够定期执行或在指定的时间执行一些进程,以达到自动执行任务的目的,crontab 和 at 这两条命令可以实现这些功能。(1)cron 服务和 crontab 命令。cron 是 Linux 操作系统中用来周期性地执行某个任务或等待处理某些时间的一个服务,cron 服务在安装完 Linux 操作系统时会默认安装,并且会自动启动 cron 服务,cron 服务每分钟会定期检查 Linux 操作系统是否有要执行的任务,若有,则自动执行该任务。cron 服务的后台守护进程是 crond,因此,在启动、停止 cron 服务和查询 cron 服务状态时要以 crond 为参数。任务5.2 进程管理任务资讯① crontab 文件。Linux 操作系统下的任务调度分为两类:操作系统任务调度和用户任务调度(某个用户定期执行的任务调度)。其中,操作系统任务调度指系统周期性执行的任务,如写缓存数据到硬盘、日志清理等。在/etc/目录下有一个 crontab 文件,它是操作系统任务调度的配置文件。crontab 文件的含义:在用户建立的 crontab 文件中,每行都代表一个任务,每行的每个字段代表一项设置,它分为 6 个字段,前 5 个字段是时间设置段,第 6 个字段是要执行的命令段,格式如下所示。* * * * * 命令crontab 文件前 5 个“*”的含义见表 5-2-7。任务5.2 进程管理任务资讯crontab 文件内容如例 5.2.10 所示。例 5.2.10:crontab 文件内容任务5.2 进程管理任务资讯关于 crontab 文件,需要注意以下几点。● 所有字段不能为空,字段之间用空格隔开。● 若不指定字段内容,则需要输入“*”通配符,表示全部。例如,在 day 字段输入“*”,表示每天都执行。● 可以使用“-”表示一段时间,如在 day 字段输入“6-9”,则每个月的 6~9 日都要执行指定的命令。● 如果不是连续的日期或者时间可用“,”隔开,如 day 字段输入“6,9”表示每个月 6日和 9 日执行。● 可以使用“*/”来表示每隔多长时间执行,如在 minute 字段输入“*/5”表示每 5 分钟执行一次命令。● 日期和星期只需要有一个匹配即可执行指定命令,但是其他字段必须完全匹配才可以执行相关命令。任务5.2 进程管理任务资讯② crontab 命令。cron 服务是通过 crontab 命令来完成设置的。crontab 命令的功能是管理用户的 crontab 文件,每个用户在想定制例行性任务时先以用户本人的身份登录,然后执行 crontab 命令。crontab命令的基本语法如下所示。crontab 选项crontab 命令的常用选项及其功能见表 5-2-8。任务5.2 进程管理任务资讯crontab 命令的基本用法如例 5.2.11 所示。例 5.2.11:crontab 命令的基本用法任务5.2 进程管理任务资讯(2)atd 服务和 at 命令。atd 是 Linux 操作系统中用来临时性地执行某个任务或等待处理某些时间的一个服务。atd是 at 的后台守护进程,因此,在启动、停止 atd 服务和查询 atd 服务状态时要以 atd 为参数。at命令用于在指定的时间执行某程序或命令,并且只执行一次,用于完成一次性定时计划。at 命令的基本语法如下所示。at [-f 文件名] 选项 <时间>at 命令的常用选项及其功能见表 5-2-9。任务5.2 进程管理任务资讯at 命令的基本用法如例 5.2.12 所示。例 5.2.12:at 命令的基本用法任务5.2 进程管理任务实施(1)查看 tomcat 进程,并结束整个进程,实施命令如下所示。(2)查询 user1 用户的进程,实施命令如下所示。任务5.2 进程管理任务实施(3)使用 vim 编辑器编辑 1.txt 文件,使用“Ctrl+Z”组合键将 vim 进程挂起,切换至后台,查看后台作业,再将后台作业切换回前台,实施命令如下所示。任务5.2 进程管理任务实施(4)设置在 2022 年 12 月 31 日 23:59,向所有登录用户发送“Happy New Year!”,实施命令如下所示。(5)设置 user1 用户每周星期一、星期三早上 4:00 将/home/user1 目录下的所有文件压缩至/bak 目录下,并取名为 user1.tar.gz,实施命令如下所示。任务5.2 进程管理任务小结(1)Linux操作系统提供了许多命令,让用户高效管理和跟踪进程。(2)通过crontab和at命令实现定期执行或者在指定的时间执行一些进程。任务5.2 进程管理 展开更多...... 收起↑ 资源预览