版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UbuntuLinux操作系统(第3版)(微课版)第6章系统高级管理能力CAPACITY要求了解什么是Linux进程,学会查看和管理Linux进程。理解systemd的概念和体系,掌握使用systemd管控系统和服务的用法。了解进程的调度启动方法,学会使用Ubuntu自动化任务工具。了解Linux系统启动过程,掌握系统启动配置和启动故障排除方法。使用systemd管控系统和服务Linux进程管理进程的调度启动——自动化任务配置系统启动配置6.1Linux进程管理Linux进程概述进程相关概念程序(Program)包含可执行代码和数据的静态实体一般对应于操作系统中的一个可执行文件进程(Process)运行着的、要占用系统运行资源的程序系统给每一个进程都分配一个唯一的进程标识符线程(Thread)可以在同一个进程中共享资源的一个执行单位进程的一部分操作系统调度的最小单元PID6.1Linux进程管理Linux进程概述进程分类交互进程:在Shell下通过执行程序所产生的进程,可在前台或后台运行。批处理进程:一个进程序列。守护进程:又称监控进程,是指那些在后台运行,并且没有控制终端的进程,通常可以随着操作系统的启动而运行,也可将其称为服务。6.1Linux进程管理查看进程进程有关参数PID:进程号(ProcessID),用于唯一标识进程。PPID:父进程号(ParentPID),创建某进程的上一个进程的进程号。USER:启动某个进程的用户ID和该用户所属组的ID。STAT:进程状态,颐和进程可能处于多种状态,如运行、等待、停止、睡眠、僵死等。PRIORITY:进程的优先级。资源占用:包括CPU、内存等资源的占用信息。6.1Linux进程管理查看进程ps命令ps命令是最基本的进程查看命令,可确定有哪些进程正在运行、进程的状态、进程是否结束、进程是否僵死、哪些进程占用了过多的资源等等。ps命令最常用的还是监控后台进程的工作情况。最常用的是使用aux选项组合。top命令top命令用于动态显示系统进程信息,可以每隔一短时间刷新当前状态,还提供一组交互式命令用于进程的监控。6.1Linux进程管理Linux进程管理启动进程手动启动:在Shell命令行下输入要执行的程序来启动一个进程。其启动方式又分为前台启动和后台启动,默认为前台启动。若在要执行的命令后面跟随一个符号“&”,则为后台启动。调度启动:事先设置好程序要运行的时间,当到了预设的时间后,系统自动启动程序。进程的挂起及恢复在运行进程过程中使用<Ctrl>+<Z>组合键可挂起当前的前台作业,将进程转到后台。恢复进程执行有两种选择,一种是用fg命令将挂起的作业放回到前台执行;另一种是用bg命令将挂起的作业放到后台执行6.1Linux进程管理Linux进程管理结束进程的运行使用组合键<Ctrl>+<C>中断前台进程。使用kill命令结束后台进程:
kill[-s,--信号|-p][-a]进程号...使用nohup命令不挂断地执行任务nohup命令[参数…][&]6.1Linux进程管理Linux进程管理管理进程的优先级进程优先级可以用nice值表示,范围一般为-20~19,-20为最高优先级,19为最低优先级,系统进程默认的优先级值为0。命令nice用于设置进程的优先级:
nice[-n][命令[参数]...]命令renice用于调整进程的优先级:
renice[优先级][PID][进程组][用户名称或ID]使用systemd管控系统和服务Linux进程管理进程的调度启动——自动化任务配置系统启动配置6.2使用systemd管控系统和服务systemd与系统初始化systemd系统初始化使用systemd取代init。systemd使用单元文件替换其他系统初始化方式的初始化脚本。systemd使用启动目标替代运行级别。systemd主要的设计目标是克服sysVinit固有的缺点。systemd与sysVinit兼容,支持并行化任务。Linux系统
初始化方式
sysVinitUpStartsystemd6.2使用systemd管控系统和服务systemd的主要概念和术语核心概念:单元(unit)单元类型文件扩展名说明service(服务).service定义系统服务device(设备).device定义内核识别的设备。每一个使用udev规则标记的设备都会在systemd中作为一个设备单元出现mount(挂载).mount定义文件系统挂载点automount(自动挂载).automount用于文件系统自动挂载设备socket(套接字).socket定义系统和互联网中的一个套接字swap(交换空间).swap标识管理用于交换空间的设备path(路径).path定义文件系统中的文件或目录timer(定时器).timer用来定时触发用户定义的操作,以取代传统的定时服务target(目标).target用于对其他单元进行逻辑分组snapshot(快照).snapshot快照是一组配置单元,保存了系统当前的运行状态6.2使用systemd管控系统和服务systemd的主要概念和术语依赖关系systemd提供处理不同单元之间依赖关系的能力。在单元文件中使用关键字来描述单元之间的依赖关系。systemd将单元之间的依赖关系分为两种:required(强依赖)和wants(弱依赖)。systemd事务systemd能保证事务完整性,旨在保证多个依赖的单元之间没有循环引用。systemd能够自动检测和修复循环依赖等配置错误,极大地减轻管理员的排错负担。6.2使用systemd管控系统和服务systemd的主要概念和术语启动目标(Target)和运行级别(Runlevel)传统运行级别systemd目标说明0runlevel0.target,poweroff.target关闭系统。不要将默认目标设置为此目标1,s,singlerunlevel1.target,rescue.target单用户(Single)模式。以root身份开启一个虚拟控制台,主要用于管理员维护系统2,3,4runlevel2.target,runlevel3.target,runlevel4.target,multi-user.target多用户模式,非图形化。用户可以通过多个控制台或网络登录5runlevel5.target,graphical.target多用户模式,图形化界面6runlevel6.target,reboot.target重启系统。不要将默认目标设置为此目标Emergencyemergency.target紧急Shell6.2使用systemd管控系统和服务systemd单元文件单元文件优先级(由低到高)/lib/systemd/system:每个服务最主要的启动脚本。/run/systemd/system:系统执行过程中所产生的服务脚本。
/etc/systemd/system:由管理员建立的脚本。6.2使用systemd管控系统和服务systemd单元文件单元文件格式[Unit]Description=CUPSSchedulerDocumentation=man:cupsd(8)After=network.targetnss-user-lookup.targetnslcd.serviceRequires=cups.socket[Service]ExecStart=/usr/sbin/cupsd-lType=notifyRestart=on-failure[Install]Also=cups.socketcups.pathWantedBy=printer.targetmulti-user.target6.2使用systemd管控系统和服务systemd单元文件编辑单元文件(1)在/etc/systemd/system/目录创建单元文件。(2)修改该文件权限,确保只能被root用户编辑。(3)在该文件中添加以下配置信息。(4)通知systemd该单元已添加,并开启该服务。6.2使用systemd管控系统和服务systemd单元文件单元文件与启动目标传统的方案:服务启动脚本对应运行级别。systemd的方案:单元文件对应启动目标。将基本的单元文件存放在/usr/lib/systemd/system/目录下,不同的启动目标要装载的服务等单元的配置文件则以软链接方式映射到/etc/systemd/system/目录下对应的启动目标子目录下,如multi-user.target装载的单元的配置文件链接到/etc/systemd/system/multi-user.target.wants/目录下。在/etc/systemd/system目录下有多个*.wants子目录,放在该子目录下的单元文件等同于在[Unit]节中的Wants字段,即该单元启动时还需启动这些单元。6.2使用systemd管控系统和服务systemd单元文件理解target单元文件graphical.target单元启动accounts-daemon.service、switcheroo-control.service和udisk2.service单元graphical.target单元激活multi-user.target单元multi-user.target单元启动NetworkManager.service、dbus.service单元multi-user.target单元激活basic.target单元basic.target单元激活sysinit.target单元6.2使用systemd管控系统和服务systemctl命令systemd最重要的命令行工具是systemctl。systemctl主要负责控制systemd系统和服务管理器,基本语法:不带任何选项和参数运行systemctl命令将列出系统已启动(装载)的所有单元。执行不带参数的systemctlstatus命令将显示系统当前状态。systemctl命令的部分选项提供有长格式和短格式,如--all和-a。systemd还可以控制远程系统,管理远程系统主要是通过SSH协议。systemctl[选项…]命令[单元文件名…]6.2使用systemd管控系统和服务systemd单元管理单元的活动状态高级表示形式active(活动的):表示正在运行inactive(不活动的):表示没有运行failed(失败的):表示运行不成功6.2使用systemd管控系统和服务systemd单元管理单元的活动状态低级表示形式
running:表示一次或多次持续地运行。
exited:表示成功完成一次性配置,仅运行一次就正常结束,目前已没有该进程运行。
waiting:表示正在运行中,不过还需再等待其他事件才能继续处理。
dead:表示没有运行。
failed:表示运行失败。
mounted:表示成功挂载(文件系统)。
plugged:表示已接入(设备)。6.2使用systemd管控系统和服务systemd单元管理查看单元列表使用systemctllist-units命令列出所有已装载(Loaded)的单元。加上选项--all列出所有单元,包括没有找到配置文件的或者运行失败的。加上选项--failed列出所有运行失败的单元。加上选项--state列出特定状态的单元加上选项--type列出特定类型的单元。查看单元的详细配置systemctl提供show命令用于查看某单元的详细配置。查看单元的状态systemctl提供status命令用于查看特定单元的状态。6.2使用systemd管控系统和服务systemd单元管理单元状态转换操作start:启动单元使之运行。stop:停止单元运行。restart:重新启动单元使之运行。reload:重载单元的配置文件而不重启单元。try-restart:如果单元正在运行就重启单元。reload-or-restart:如有可能重载单元的配置文件,不然,重启单元。reload-or-try-restart:如有可能重载单元的配置文件,不然,若正在运行则重启单元。kill:杀死单元,以结束单元的运行进程。6.2使用systemd管控系统和服务systemd单元管理管理单元依赖关系使用systemctllist-dependencies命令列出指定单元的所有依赖。cxz@linuxpc1:~$systemctllist-dependenciescupscups.service├─cups.path├─cups.socket├─system.slice└─sysinit.target├─apparmor.service├─dev-hugepages.mount├─dev-mqueue.mount6.2使用systemd管控系统和服务systemd单元文件管理单元文件状态enabled:已建立启动链接,将随系统启动而启动,即开机时自动启动。disabled:没建立启动链接,即开机时不会自动启动。static:该单元文件没有[Install]部分(无法执行),只能作为其他单元文件的依赖。masked:该单元文件被禁止建立启动链接,无论如何都不能启动。generated:该单元文件是由单元生成器动态生成的。6.2使用systemd管控系统和服务systemd单元文件管理列出单元文件(可用单元)systemctllist-unit-files列出系统中所有已安装的单元文件,即所有可用的单元。加上选项--type或-t列出特定类型的可用单元。查看单元文件状态systemctlstatus命令在显示特定单元的状态时会显示对应的单元文件的状态。systemctlis-enabled命令专门用于检查指定的单元文件是否允许开机自动启动。单元文件状态转换操作enable为单元文件建立启动连接,设置单元开机自动启动。disable删除单元文件的启动连接,设置单元开机不自动启动。mask将单元文件连接到/dev/null,禁止设置单元开机自动启动。unmask允许设置单元开机自动启动。6.2使用systemd管控系统和服务systemd单元文件管理编辑单元文件systemctl提供专门的命令edit来打开文本编辑器编辑指定的单元文件。修改配置文件要让systemd重新装载配置文件。systemctldaemon-reload重新启动,使修改生效。systemctlrestart单元文件6.2使用systemd管控系统和服务使用systemd管理Linux服务Linux服务状态管理功能传统service命令systemd命令启动服务service服务名startsystemctlstart服务名.service停止服务service服务名stopsystemctlstop服务名.service重启服务service服务名restartsystemctlrestart服务名.service查看服务运行状态service服务名statussystemctlstatus服务名.service重载服务的配置文件而不重启服务service服务名reloadsystemctlreload服务名.service条件式重启服务service服务名condrestartsystemctltryrestart服务名.service重载或重启服务
systemctlreload-or-restart服务名.service重载或条件式重启
systemctlreload-or-try-restart服务名.service查看服务是否激活(正在
运行)
systemctlis-active服务名.service查看服务启动是否失败
systemctlis-failed服务名.service杀死服务
systemctlkill服务名.service6.2使用systemd管控系统和服务使用systemd管理Linux服务配置服务启动状态(服务开机自动启动)功能systemd命令查看所有可用的服务systemctllist-unit-files--type=service查看某服务是否能够开机自启动systemctlis-enabled服务名.service设置服务开机自动启动systemctlenable服务名.service禁止服务开机自动启动systemctldisable服务名.service禁止某服务设定为开机自启systemctlmask服务名.service取消禁止某服务设定为开机自启systemctlunmask服务名.service加入自定义服务(1)创建相应的单元文件(2)systemctldaemon-reload删除服务(1)systemctlstop服务名.service(2)删除相应的单元文件6.2使用systemd管控系统和服务使用systemd管理Linux服务创建自定义服务服务单元文件的重点是[Service]节,常用的字段(指令)Type:配置单元进程启动时的类型,影响执行和关联选项的功能。ExecStart:指定启动单元的命令或者脚本,ExecStartPre和ExecStartPost节指定在ExecStart之前或者之后用户自定义执行的脚本。ExecStop:指定单元停止时执行的命令或者脚本。ExecReload:指定单元重新装载是执行的命令或者脚本。Restart:如果设置为always,服务重启时进程会退出,会通过systemctl命令执行清除并重启的操作。RemainAfterExit:如果设置为true,服务会被认为是在活动状态。6.2使用systemd管控系统和服务使用systemd管理启动目标查看当前的启动目标systemctllist-units--type=target切换到不同的目标systemctlisolate目标名.target管理默认启动目标systemctlset-default目标名.target进入系统救援模式和紧急模式进入系统救援模式(单用户模式)sudosystemctlrescue进入系统紧急模式sudosystemctlemergency6.2使用systemd管控系统和服务配置和使用systemd日志配置systemd日志服务systemd日志的配置文件是/etc/systemd/journald.conf。Storage用于控制何处存储日志数据。SystemMaxUse用于更改日志大小限制。执行systemctlstatussystemd-journald可查看systemd日志服务的当前状态。6.2使用systemd管控系统和服务配置和使用systemd日志查看systemd日志条目按条目数查看日志。按类别查看日志。按时间范围查看日志。指定日志显示格式。查询某单元(服务)日志。组合查询日志。6.2使用systemd管控系统和服务配置和使用systemd日志管理维护systemd日志使用journalctl--disk-usage命令查看systemd日志当前的磁盘使用情况。使用journalctl命令清理日志归档文件以释放磁盘空间。使用--vacuum-size选项限制归档文件的最大磁盘使用量。使用--vacuum-time选项清除指定时间之前的归档。使用--vacuum-files选项限制日志归档文件的最大数量。使用systemd管控系统和服务Linux进程管理进程的调度启动——自动化任务配置系统启动配置6.3系统启动配置Linux系统启动过程分析Linux启动过程(1)BIOS或UEFI启动。(2)启动引导加载程序。(3)装载内核。(4)系统初始化。6.3系统启动配置Linux系统启动过程分析检测和分析systemd启动过程执行systemd-analyzetime命令查看启动耗时,即内核空间和用户空间启动时所花的时间。执行systemd-analyzeblame命令查看正在运行的每个单元的启动耗时,并按照时长排序。执行systemd-analyzeverify命令检查所有系统单元是否有语法错误。执行systemd-analyzecritical-chain命令分析启动时的关键链,查看严重消耗时间的单元列表。6.3系统启动配置Linux系统初始化配置由systemd执行系统初始化,使用启动目标替代传统的运行级别。默认启动目标由/etc/systemd/system/default.target定义。编写一个systemd单元文件用于开机自动执行所需的程序或脚本,然后执行systemctlenable命令来启用该文件。6.3系统启动配置引导加载程序GRUB配置使用/etc/default/grub文件进行基本配置GRUB_DEFAULT=0#默认启动项,按启动菜单项顺序启动,比如要默认从第4个菜单项启动,数字改为3,如果改为saved,则默认为上次启动项GRUB_TIMEOUT_STYLE=hidden#开机时是否显示GRUB引导界面,hidden表示不显示GRUB_TIMEOUT=0#进入默认启动项的等待时间(如果改为-1,每次启动时需手动确认)GRUB_DISTRIBUTOR=`lsb_release-i-s2>/dev/null||echoDebian`#GRUB发布者名称GRUB_CMDLINE_LINUX_DEFAULT="quietsplash"#自动添加的内核启动参数GRUB_CMDLINE_LINUX=""#手动添加内核启动参数到菜单项中6.3系统启动配置引导加载程序GRUB配置使用/etc/grub.d目录下的配置文件00_header——配置最基本的开机界面。10_linux——配置不同的内核,自动搜索当前系统,建立当前系统启动菜单。30_os_prober——设置其他分区中的系统(适合硬盘中有多个操作系统的情形)。40_custom和41_custom——用户自定义配置。6.3系统启动配置引导加载程序GRUB配置动态修改GRUB引导参数GRUB界面6.3系统启动配置引导加载程序GRUB配置动态修改GRUB引导参数GRUB编辑界面6.3系统启动配置引导加载程序GRUB配置动态修改GRUB引导参数进入救援模式6.3系统启动配置系统启动进入特殊模式排除故障选择Linux内核GRUB开始界面6.3系统启动配置系统启动进入特殊模式排除故障选择恢复操作6.3系统启动配置系统启动进入特殊模式排除故障在root的Shell中执行命令使用systemd管控系统和服务Linux进程管理进程的调度启动——自动化任务配置系统启动配置6.4进程的调度启动——自动化任务配置使用Cron服务安排周期性任务使用配置文件/etc/crontab定义系统级周期性任务Cron主要使用配置文件/etc/crontab来管理系统级任务调度。该配置文件共有4行任务定义,每行格式分钟(m)小时(h)日期(dom)月份(mon)星期(dow)用户身份(user)
要执行的命令(command)/etc/crontab文件中并没有定义要执行的具体作业,而是在最后一个字段中设置了可执行文件目录,/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly和/etc/cron.monthly分别表示每小时、每日、每周和每月执行要执行任务的目录。Cron调用run-parts命令,定时运行相应目录下的所有脚本。6.4进程的调度启动——自动化任务配置使用Cron服务安排周期性任务在etc/cron.d目录中定义个别的周期性任务要为计划任务指定其他时间点,则可以考虑在/etc/cron.d/目录中添加自己的配置文件,格式同/etc/crontab,文件名可以自定义。使用crontab命令为普通用户定制任务调度普通用户只能使用crontab命令创建和维护自己的cron配置文件
crontab[-u用户名][-e|-l|-r]6.4进程的调度启动——自动化任务配置使用anacron唤醒停机期间的调度任务配置anacron
使用systemd定时器安排anacron运行。使用Cron服务安排anacron运行。anacron根据/etc/anacrontab配置文件执行每天、每周和每月的调度任务。每天、每周和每月定时更新时间戳。6.4进程的调度启动——自动化任务配置使用anacron唤醒停机期间的调度任务an
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院醒酒室工作制度
- 协商在基层工作制度
- 南航贵宾室工作制度
- 卫生室门诊工作制度
- 厂区巡逻队工作制度
- 县区教研员工作制度
- 双休工作制度介绍模板
- 双诺双述双评工作制度
- 口腔助手岗位工作制度
- 司机人员调整工作制度
- 供应商质量管理培训范本
- 呆滞物料的预防和处理培训
- 载人飞艇系留场地净空要求细则
- 中数联物流科技(上海)有限公司招聘笔试题库2025
- 公路建设项目投资计划书
- 电气安全培训事故类型及触电预防相关内容
- DB65∕T 4767-2024 普通国省干线公路服务设施建设技术规范
- 彩泥捏花朵课件
- 2025年度教育系统公开选拔学校后备干部考试题及答案
- GB/T 46008-2025呼吸机和相关设备术语和定义
- GB/T 20805-2025饲料中酸性洗涤木质素(ADL)的测定
评论
0/150
提交评论