《RHEL7版 项目06软件包、服务和进程的管理ppt课件.pptx》由会员分享,可在线阅读,更多相关《RHEL7版 项目06软件包、服务和进程的管理ppt课件.pptx(55页珍藏版)》请在三一办公上搜索。
1、“十二五”职业教育国家规划教材Red Hat Enterprise Linux 7.3(RHEL 7.3),Linux网络操作系统配置与管理(第三版),主编:夏笠芹,项目6 软件包、服务和进程的管理,课程标准(教学大纲)教学设计方案(教案)PPT电子课件教材习题参考答案模拟试卷及参考答案(4套)IT认证+全国技能大赛资料知识拓展&网络工程解决方案,【项目知识目标】了解:Linux服务的概念、分类;端口的概念与作用;套接字(Socket)的概念及套接字之间的连接过程;进程的概念、分类;熟悉:rpm软件包的命名格式;systemctl服务管理命令的一般格式; RHEL 7系统的启动过程;服务管理系
2、统systemd掌握:rpm软件包的安装、查询、升级、删除的方法;网络服务的启动、停止方法;【项目能力目标】能使用rpm、yum命令安装、查询、升级和删除rpm软件包会使用systemctl命令管理服务(查看服务状态、设置服务运行级别、控制服务的启动状态能使用ss命令查看服务运行状态会使用ps和top命令监视进程状态能使用at和crontab命令实施计划任务管理,项目6 软件包、服务和进程的管理,6.1 项目背景,在对Linux系统的使用和操作过程中,需要经常安装、卸载和升级各种应用软件。安装软件的作用仅仅是给该软件提供了一个可以运行的环境,要使软件发挥作用,为用户提供高效可靠的服务,还必须启
3、动该软件让其投入运行,并能监控软件的运行状态,维护其正常、稳定地运行。软件的安装、升级或卸载;软件的运行管理(开机时自动和实时手动地启动、重启、重载和停止软件); 实时监控和查看软件运行状态等是系统管理员日常最基本的工作。,6-2-1 管理软件包的两种工具RPM和YUM1.RPM管理工具RPM是红帽子包管理(Redhat Package Manager)的缩写。由Red Hat公司提出的一种软件包管理标准。是Linux各发行版中应用最广泛的软件包格式之一(还有debian发行的deb安装包)。作用:对RPM格式的软件包进行安装、查询、更新升级、校验、卸载以及生成.rpm格式的软件包等RPM功能
4、通过rpm命令使用不同参数来实现。,6.2 项目知识准备,rpm软件包压缩存贮,拥有一个头文件,其中包含有关于本软件包的相关信息,便于对软件包信息进行查询。RPM软件包的典型命名格式:软件名-版本号-发行号.操作系统版本.硬件平台的类型.rpm如:openssl软件包对应的软件包名称为:openssl-1.0.1e-60.el7.x86_64.rpm,软件包的名称,版本信息,发行号,代表软件是提供给Enterprise Linux 7,代表该软件适用于在Intel x86架构的64位cpu的计算机硬件平台上运行,扩展名,6-2-1 管理软件包的两种工具RPM和YUM,2.YUM管理工具YUM(
5、Yellow dog Updater, Modified)则能在线下载、安装、卸载、升级rpm软件包等任务,并且能够自动查找并解决rpm包之间的依赖关系后,一次性完成所有具有依赖关系rpm包的安装,而无需管理员逐个、手工地去安装每一个rpm包。要实现YUM的功能,有赖于三个机制的建立其一是需要有一个包含各种rpm安装文件的软件仓库(即yum源);其二是有软件仓库的仓库数据库(repodata),其中收集了软件仓库中所有rpm包的头部信息(每个rpm包的包头信息包含了该包的描述,功能,提供的文件,依赖关系等信息);其三是有软件仓库的地址等信息。,6-2-1 管理软件包的两种工具RPM和YUM,1
6、.Linux服务的概念、分类与管理(1)服务的概念与分类服务是指为系统自身或网络用户提供某项特定功能的、运行在操作系统后台(不占用下达命令的终端窗口)的一个或多个程序。服务一旦启动会持续在后台执行,随时等待接收使用者或其他程序的访问请求,不管有没有被用到。按其服务对象的不同服务划分为两类:本地服务:为本地计算机系统和用户提供的服务,如监视本地计算机活动的监视程序。网络服务:为网络中的其他计算机的用户提供的服务,如httpd网页服务、ssh远程登录服务等。,6-2-2 服务、端口与套接字,1.Linux服务的概念、分类与管理(2)管理服务的工具systemctl命令,6-2-2 服务、端口与套接
7、字,systemctl 单元名,常用参数:status、start、stop、restart、reload等。,在systemctl命令中若指定“-H ”参数,还可以通过ssh连接实现对其他机器的远程控制。,2.端口的概念与作用不同的网络服务,它们具体使用的网络协议会不同,人们为了区分不同的网络协议,给每个协议进行了编号,这个编号在计算机术语里面就叫端口号(简称端口)。基于TCP/UDP协议的不同网络服务都是以端口来区别的 网络中的主机是通过使用“IP地址+端口”与其他主机建立连接并进行通信的。计算机通信时使用的端口从065535,共有65536个。其中,从01023称为保留端口,通常这些端口
8、的通讯固定用于某种服务协议,比如HTTP协议的端口号为80,SMTP协议的端口号为25,TELNET协议的端口号为23等等。从102465535称为动态端口,这些端口通常不固定分配给某个服务,只要运行的程序向系统提出网络申请,系统自动从这些端口中分配一个可用端口供其使用。,6-2-2 服务、端口与套接字,3.套接字(Socket)“IP地址+网络协议+端口”的整合就称为套接字(Socket)。可以说,套接字就是在纵横交错的网络通信中,区分不同应用程序进程间的网络通信和连接的一套关键字。套接字(Socket)包含了进行网络通信必须的五种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口
9、、远程主机的IP地址、远程进程的协议端口。套接字之间的连接过程可以分为以下三个步骤: 服务器监听:是指服务端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。客户端请求:是由客户端的套接字提出连接请求,要连接的目标是服务器端套接字。连接确认:是当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的信息发送给客户端,一旦客户端确认了此连接,连接即可建立。,6-2-2 服务、端口与套接字,1.RHEL 7系统的启动过程(1)开机自检:服务器接通电源后,系统固件(UEFI或BIOS)运行自检程序,并对部分
10、硬件设备进行初始化。(2)按照UEFI或BIOS中配置的顺序搜索可启动设备,并将其中的主启动记录(MBR)调入到内存。然后从磁盘读取驻留在/boot中的多系统引导器程序Grub2, 系统将控制权交给Grub2(3)Grub2获得系统控制权后,读取自身的配置文件,然后显示启动菜单供用户选择,在用户做出选择(或采用默认值)后,Grub2找到Linux内核(kernel)文件(预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度)。,6-2-3 认识新一代的服务管理系统systemd,1.RHEL 7系统的启动过程(4)加载Linux内核文件和驻留在RAM中的初始化文件系统
11、initramfs(它包含执行必要操作所需要的硬件的内核模块程序和二进制文件,以此来最终挂载真实的根文件系统),然后将系统控制权转交给内核。(5)内核接过系统控制权后,将完全掌控整个Linux操作系统的运行过程。当根文件系统被挂载后,接着便运行/usr/lib/systemd/systemd可执行程序,即启动PID为1的systemd进程。(6)systemd启动后,首先执行initrd.target目标的所有单元文件,接着根据default.target配置文件中的规则初始化系统。,6-2-3 认识新一代的服务管理系统systemd,2.systemd的新特征(1)尽可能启动更少进程,减少系
12、统资源消耗。(2)尽可能将更多进程并行启动,缩短服务启动时间。(3)引入“单元”机制,实现对系统资源的一致性管理和配置。Systemd中主要的单元类型有以下几种:服务(service)单元: 目标(target)单元:套接字(socket)单元挂载(mount)单元:自动挂载(automount)单元设备(device)单元交换分区(swap)单元定时器(timer)单元快照(snapshot)单元文件系统路径(path)单元资源控制组(slice) 单元外部创建的进程(scope)单元(4)提供服务状态快照,恢复特定点的服务状态。(5) systemd的作用远远不止是启动系统和初始化系统(6
13、)与SysVinit兼容。(7)管理远程系统。,6-2-3 认识新一代的服务管理系统systemd,1.进程的概念进程是指程序的一次动态执行过程,是计算机中正在运行着的程序。进程与程序是有区别的:程序是位于外存储器中不占用内存和CPU资源的静态指令和数据的集合;进程是由程序产生的、随时可能发生变化的、动态的、占用系统运行资源(如CPU、内存、读写设备、网络带宽等)的实体。2.进程的优先级为了使计算机运行有序推进,操作系统会为每个进程赋予相应的优先级。进程的优先级通过“谦让度”数字指标来衡量,通过它来表明一个进程在同其他进程竞争CPU时应该如何对待这个进程(何时运行和接收多少CPU时间),谦让度
14、的值越高,优先级越低,谦让度的值越低或负值表示优先级越高。谦让度的取值范围是-20至+19。,6-2-4 进程的概念、分类与管理,3.进程的分类,6-2-4 进程的概念、分类与管理,4.进程的管理,6-2-4 进程的概念、分类与管理,任务导入Windows中的 “添加/删除程序”工具(图形化的界面)=软件包管理工具Linux中常见的软件安装程序:源代码软件:需编译,通常以gzip压缩过的tar包(扩展名一般为.tar.gz).可执行程序RPM包,一般扩展名为.rpm,任务6-1 利用rpm命令管理软件包,必须以root的身份执行1查询rpm软件包-q查询(query)rpm软件包要查询软件包中
15、的其他信息,可结合使用其它参数。 查询已安装软件包的信息,任务6-1 利用rpm命令管理软件包,rpm -q参数1参数2 安装文件1 安装文件2,一般系统安装的软件包较多,为便于分屏浏览,可结合管道操作符和less、 grep命令来实现,其命令用法为:,任务6-1 利用rpm命令管理软件包,rootdyzx # rpm -qa | lessrootdyzx # rpm -qa | less,查询指定的软件包是否安装若已安装,将显示该软件包的完整名称(含版本号信息)若未安装,则提示未安装。【例6-1】查询openssh、telnet-server软件包是否已安装:,rootdyzx # rpm
16、-q openssh telnet-server openssh-6.6.1p1-31.el7.x86_64未安装软件包 telnet-server,任务6-1 利用rpm命令管理软件包,【例6-2】查看已安装的openssh软件包的版本、用途等详细信息。,rootdyzx # rpm -qf /etc/postfix/accesspostfix-2.10.1-6.el7.x86_64,rootdyzx # rpm -qi openssh,【例6-3】显示已安装openssh软件包中所包含文件的文件名及安装位置。,rootdyzx # rpm -ql openssh|less,【例6-4】查询
17、系统中access文件是由哪个软件包安装的。,【例6-5】查询系统中postfix软件包安装的配置文件列表。,rootdyzx # rpm -qc postfix/etc/pam.d/smtp.postfix/etc/postfix/access /省略若干行, 查询未安装软件包的信息安装一个软件包前,需了解软件包的相关信息,比如:该软件包的描述信息、文件列表等。在表6-5中的参数基础上再添加p参数可实现对未安装的rpm软件包相应信息的显示。【例6-6】查询安装光盘中软件包ppp-2.4.5-33.el7.x86_64.rpm 的文件列表。步骤1:将RHE L7 安装光盘放入光驱。步骤2:执行
18、以下挂载和查询命令:,任务6-1 利用rpm命令管理软件包,rootdyzx # mount /dev/cdrom /mntrootdyzx # rpm -qlp /mnt/Packages/ppp-2.4.5-33.el7.x86_64.rpm /省略全部显示行,2 安装、删除、升级RPM软件包,任务6-1 利用rpm命令管理软件包,安装: rpm -ivh 软件包文件全路径名 -force -nodeps删除: rpm -e 软件包名升级: rpm -Uvh 软件包文件全路径名 -force -nodeps,【例6-7】安装ppp软件包。,任务6-1 利用rpm命令管理软件包,rootdy
19、zx # rpm -ivh /mnt/Packages/ ppp-2.4.5-33.el7.x86_64.rpmrootdyzx # rpm -q pppppp-2.4.5-33.el7.x86_64,【例6-8】删除ppp软件包。,【例6-9】升级samba(若旧版本为samb-4.2.3-5.el7.x86_64.rpm)软件包。,rootdyzx # rpm -e ppp,rootdyzx # rpm -Uvh /mnt/Packages/samba-4.4.4-9.el7.x86_64.rpm,建立yum本地光盘源【例6-10】以本地光盘为软件仓库创建yum源,并利用该yum源安装ht
20、tpd软件包。步骤1:将RHEL7安装光盘放入光驱(参见例6-6)。步骤2:设置在系统启动时自动将光驱中的RHEL7系统映像文件挂载到/media目录。步骤3:用yum-config-manager命令生成一个yum源的模板文件cdrom.repo。步骤4:将自动生成的模板文件/etc/yum.repos.d/cdrom.repo编辑如下:,任务6-2 使用yum源安装rpm软件包,rootdyzx # vim /etc/yum.repos.d/cdrom.repocdrom/软件仓库的标识,全局唯一,不可重复name=RHEL7.3/软件仓库的描述信息,原则上可以随便描述baseurl=fi
21、le:/media/软件仓库(yum源)的位置,即本地光盘挂载路径enabled=1/此仓库是否开启。“1”表示开启;“0”表示关闭gpgcheck=1/是否校验GPG签名,“1”表示校验,“0”表示不校验gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release,建立yum本地光盘源步骤5:导入公钥文件,以校验GPG签名(用来验证要安装的包是不是RedHat官方的)查看系统中所有的yum资源库配置信息。,任务6-2 使用yum源安装rpm软件包,rootdyzx # rpm -import /etc/pki/rpm-gpg/*rootdyz
22、x # yum repolist,步骤6:清除旧有的yum源缓存重新缓存本地光盘yum源中的软件包信息。,rootdyzx # yum clean allrootdyzx # yum makecache,步骤7:验证yum源是否可用。下面使用命令行安装httpd服务软件包如下:,rootdyzx # yum -y install httpd,常用yum命令,任务6-2 使用yum源安装rpm软件包,1. 查看服务状态,任务6-3 使用systemctl命令管理服务,【例6-11】查询sshd服务的状态信息。,任务6-3 使用systemctl命令管理服务,rootdyzx # systemct
23、l status sshd sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since 三 2016-12-07 15:03:05 CST; 1h 1min ago Docs: man:sshd(8) man:sshd_config(5) Process: 1122 ExecStart=/usr/sbin/sshd $OPTIONS (code=e
24、xited, status=0/SUCCESS) Main PID: 1158 (sshd) CGroup: /system.slice/sshd.service 1158 /usr/sbin/sshd12月 07 15:03:04 systemd1: Starting OpenSSH server daemon.12月 07 15:03:05 sshd1158: Server listening on 0.0.0.0 port 22.12月 07 15:03:05 systemd1: PID file /var/run/sshd.pid not reada.t.12月 07 15:03:05
25、 sshd1158: Server listening on : port 22.12月 07 15:03:05 systemd1: Started OpenSSH server daemon.Hint: Some lines were ellipsized, use -l to show in full.,【例6-12】查看sshd、iptables和telnet-server三个服务的当前运行状态,并查看在开机时是否随系统的启动而启动。,任务6-3 使用systemctl命令管理服务,rootdyzx # systemctl is-active sshd fcoe telnet-serve
26、ractive/表明sshd服务正在运行inactive/表明fcoe服务对应的软件包已安装但未运行unknown /表明telnet-server服务对应的软件包还未安装root dyzx # systemctl is-enabled sshd fcoe telnet-serverenabled/表明sshd服务开启了在系统启动时自动启动disabled/表明fcoe服务未开启在系统启动时自动启动Failed to get unit file state for telnet-server.service: No such file or directory,表6-9 常见的服务状态关键字,
27、2设置服务的运行环境(或运行级别),任务6-3 使用systemctl命令管理服务,【例6-13】查看当前运行环境和开机后自动进入的运行环境,rootdyzx # runlevelN 5rootdyzx # systemctl get-defaultgraphical.target,3 控制服务的运行状态,任务6-3 使用systemctl命令管理服务,【例6-14】重新加载httpd网站服务,使修改过的网站配置文件能立即生效,并设置httpd服务在开机时能自动启动。,任务6-3 使用systemctl命令管理服务,root dyzx #systemctl reload httpd.servi
28、ceroot dyzx #systemctl enable httpd.serviceroot dyzx # systemctl is-enabled httpd.serviceenabled,重启服务虽然可以让配置生效,但restart是先关闭服务,再开启服务,这样会对客户端的访问造成中断影响,而使用reload重新加载配置文件使其生效,不影响在线用户的访问。,ss(Socket Statistics,套接字统计)命令可以显示各类协议、各种状态的套接字信息,从而有效跟踪服务运行状态(如服务是否启动)和服务端与客户端的连接状态,其一般格式为:,任务6-4 使用ss命令查看服务运行状态,ss 选
29、项,【例6-15】以数字方式查看所有TCP协议连接情况。其操作如下:,rootdyzx # ss -atnStateRecv-QSend-QLocal Address:Port Peer Address:Port LI STEN 0 50 *:139*:*LISTEN 05192.168.122.1:53*:*LISTEN 0128 *:22*:*LISTEN 0128 127.0.0.1:631*:*LISTEN 0 50 *:445*:*LISTEN 050:139:*LISTEN 0128:80:*/省略若干行,在上面的输出结果中,从左至右共有5个字段,各字段的含义如下:State表示连
30、接状态(共11种),如:LISTEN(表示服务端的socket处于监听状态,可以接受客户端的连接请求)、ESTABLISHED(表示服务端与客户端的连接已经建立)。Recv-Q从远程主机传送过来的数据已经在本地接收缓冲,但是还没有被进程取走的字节数。Send-Q表示对方没有收到的数据或者说没有应答Ack的字节数。Local Address:Port表示本地地址和服务端口,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址和端口号,若为“*”表示“所有”、若为“:”表示所有IPv6接口、若为“:1”表示IPv6回环接口lo。Peer Address:Port表示与本机连接的远程主机的地址
31、和端口,默认显示主机名和服务名称,使用选项-n后显示主机的IP地址及端口号。,任务6-4 使用ss命令查看服务运行状态,【例6-16】查看所有的TCP端口和使用它们的进程,rootdyzx # ss -tnapState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 128 *:111 *:*users:(systemd,pid=1,fd=41)LISTEN 0 5192.168.122.1:53 *:*users:(dnsmasq,pid=1330,fd=6)LISTEN 0 128 *:22 *:*users:(ssh
32、d,pid=1185,fd=3)LISTEN 0 128 127.0.0.1:631 *:*users:(cupsd,pid=1126,fd=12)LISTEN 0 100 127.0.0.1:25 *:*users:(master,pid=1271,fd=13)LISTEN 0 128 :111 :*users:(systemd,pid=1,fd=40)LISTEN 0 128 :22 :*users:(sshd,pid=1185,fd=4)LISTEN 0 128 :1:631 :*users:(cupsd,pid=1126,fd=11)LISTEN 0 100 :1:25 :*users
33、:(master,pid=1271,fd=14),任务6-4 使用ss命令查看服务运行状态,【例6-17】查看服务器中当前已经连接、关闭、等待的tcp连接及连接的分类统计。,rootdyzx # ss -sTotal: 1443 (kernel 1861)TCP: 22 (estab 0, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0Transport TotalIP IPv6 1861- -RAW 1 0 1 /原始套接字(允许对较低层次的协议直接访问的套接字)的数量UDP 29 22 7/UDP协议套接字的数量TCP 21
34、11 10/TCP协议套接字的数量INET 51 33 18/网络通信套接字(即以上三类套接字)的总量FRAG 00 0/使用的IP地址段数量,任务6-4 使用ss命令查看服务运行状态,1.ps命令查看静态的进程状态(Processes Statistic)ps命令是Linux系统中最为常用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照。其命令的一般格式为:,任务6-5 使用ps和top命令监视进程状态,s 选项,常用的选项及含义如下:-a显示当前终端所有(all)用户的进程(包括其他用户的)。u使用以用户(user)为主的格式输出进程信息。-u 用户名显示特定用户的进程。
35、-x显示当前用户没有控制终端的进程。-l使用长(long)格式显示进程信息。-w宽行显示,可以使用多个w进行加宽显示。-e显示系统内的所有(every)进程(包括用户进程、没有控制终端系统进程)信息。-f使用完整(Full)的格式显示进程信息。注意:选项带前缀“-”和不带前缀“-”是有区别的。,【例6-18】仅显示当前终端的活动进程。,任务6-5 使用ps和top命令监视进程状态,rootdyzx # psPID TTY TIME CMD 3054 pts/0 00:00:00 bash 3147 pts/0 00:00:00 ps,【例6-19】以完整的输出格式显示系统中的所有进程,root
36、dyzx # ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 13:57 ? 00:00:03 /usr/lib/systemd/systemd -swiroot 2 0 0 13:57 ? 00:00:00 kthreaddroot 3 2 0 13:57 ? 00:00:00 ksoftirqd/0/省略若干行,【例6-20】显示指定用户(如nobody)的进程。,任务6-5 使用ps和top命令监视进程状态,rootdyzx # ps -lu nobodyF S UID PID PPID C PRI NI ADDR SZ WCHAN T
37、TY TIME CMD5 S 99 1575 1 0 80 0 - 3886 poll_s ? 00:00:00 dnsmasq,【例6-21】查看各个进程占用CPU及内存等情况。,rootdyzx # ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.4 125816 4600 ? Ss 13:57 0:04 /usr/lib/systemd/systroot 2 0.0 0.0 0 0 ? S 13:57 0:00 kthreaddroot 3 0.0 0.0 0 0 ? S 13:57 0:0
38、0 ksoftirqd/0/省略若干行nobody 1575 0.0 0.0 15544 900 ? S 13:57 0:00 /sbin/dnsmasq /省略若干行,上述各例返回的结果是以列表形式出现的,列表中主要字段的含义如下:USER启动该进程的用户名,即进程所有者的用户名。UID进程所属的用户ID,在当前系统中是唯一的。PID(Process ID)该进程在系统中的标识号(ID号)。PPID进程的父进程标识号。%CPU该进程占用的CPU使用率。%MEM该进程占用的物理内存和总内存的百分比。TTY表明该进程在哪个终端上运行,“?”表示为未知或不需要终端。VSZ /VIRT占用的虚拟内存
39、(swap空间)的大小(单位是KB) 。RSS/RES占用的固定内存(物理内存)的大小(单位是KB) 。SHR进程使用的共享内存的大小(单位是KB)。COMMAND/CMD启动该进程的命令的名称。列中的信息用括起来则说明该进程为内核线程(kernel thread),一般以k开头。,任务6-5 使用ps和top命令监视进程状态,上述各例返回的结果是以列表形式出现的,列表中主要字段的含义如下:TIME实际使用CPU的时间。STIME进程的启动时间。TIME进程启动后占用的总的CPU时间( CPU使用时间的累加)。STAT/S进程当前的状态。进程状态主要有A(活动的)、T(已停止)、Z(已取消)等
40、;对于内核进程主要状态有R(正在运行)、S(休眠)、s(父进程)、T(已停止)、Z(僵死或死锁)、(优先级高的进程)、N(优先级较低的进程)、+(位于后台的进程)等。START启动该进程的时间。PRI/PR进程的优先级(riority),程序的优先执行顺序,越小越早被执行。NI进程的友善度或谦让度(niceness),是以数字形式给内核的暗示,通过它来表明一个进程在同其他进程竞争CPU时应该如何对待这个进程,友善度值越高,优先级越低,友善度值越低或负值表示优先级越高。“友善度”的取值范围为-20至19。,任务6-5 使用ps和top命令监视进程状态,【例6-22】结合“-elf”选项时,将以长
41、格式显示所有的进程信息,并包含更多列(如PPID列表示进程的父进程)的信息。,任务6-5 使用ps和top命令监视进程状态,rootdyzx # ps -elfF S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD4 S root 1 0 0 80 0 - 31527ep_pol14:05 ? 00:00:03 /usr/lib/systemd/systemd -swi1 S root 2 0 0 80 0 - 0kthrea14:05 ? 00:00:00 kthreadd1 S root 3 2 0 80 0- 0smpboo1
42、4:05 ? 00:00:00 ksoftirqd/01 S root 5 2 0 60 -20- 0worker14:05 ? 00:00:00 kworker/0:0H1 S root 7 2 0-40 - 0smpboo14:05 ? 00:00:00 migration/0/省略更多信息行,【例6-23】通过管道操作符及有关筛选命令,在所有进程信息中筛选出包含指定进程的信息,以便确认该进程相对应的服务是否启动。如:确认Samba共享服务是否启动(对应的进程为smbd)。若已启动则有显示,否则无显示。,rootdyzx # ps aux | grep smbdroot 1771 0.0
43、0.5 388136 5864 ? Ss 14:06 0:00 /usr/sbin/smbdroot 1778 0.0 0.3 388144 3360 ? S 14:06 0:00 /usr/sbin/smbdroot 5306 0.0 0.0 112664 968 pts/0 S+ 17:10 0:00 grep -color=auto smbd,2.top命令查看进程的动态信息ps命令只能显示进程某一时刻的静态信息,top命令则能以实时、动态刷新(默认每3秒刷新一次)的方式显示进程状态,从而为系统管理员及时、有效地发现系统的缺陷提供方便。其显示界面如图6-2所示。,任务6-5 使用ps和t
44、op命令监视进程状态,2.top命令查看进程的动态信息第1行:正常运行时间行。显示系统当前时间、系统已运行的时间、当前已登录的用户数、1/5/10分钟前到现在系统平均负载(1时属于正常,若持续5表明系统很忙碌)。第2行:进程统计行。包括进程的总量,以及正在运行、挂起、暂停、疆尸进程的数量。第3行:CPU统计行。包括用户空间占用CPU的百分比、系统内核空间占用CPU的时间、用户进程中修改过优先级的进程占用CPU的百分比、空闲CPU百分比、等待输入输出CPU时间百分比、服务于硬件中断所耗费CPU时间百分比、服务于软件中断所耗费CPU时间百分比、st(Steal Time)服务于其他虚拟机所耗费CP
45、U时间百分比。第4行:内存统计行。包括物理内存总量,以及已用、空闲、缓冲区内存量。第5行:交换分区和缓冲区统计行。包括交换分区总量、已使用交换分区总量、空闲交换分区总量和缓存交换分区总量。第6行:显示的是此后各行的标题,各标题栏的含义与ps命令相同。,任务6-5 使用ps和top命令监视进程状态,在top命令使用过程中,可以使用一些交互子命令来定制自己的输出和其他功能,这些子命令是通过按快捷键启动的,见表6-13。,任务6-5 使用ps和top命令监视进程状态,3.前/后台进程(作业)的切换与管理,rootdyzx # sleep 500&/在后台执行延时500秒1 6102 rootdyzx
46、 # jobs -l/查看当前终端中的后台作业1+ 6102 运行中 sleep 1000 &rootdyzx # fg %1/将作业号为1的后台进程调回前台sleep 1000Z/按【Ctrl+z】将前台进程调入后台并暂停执行进程1+ 已停止 sleep 1000rootdyzx # jobs -l1+ 6102 停止 sleep 1000rootdyzx # bg %1/将作业号为1的处于暂停状态的后台进程恢复到运行状态1+ sleep 1000 &rootdyzx # jobs -l1+ 6102 运行中 sleep 1000 &rootdyzx # kill -9 %1/强行终止作业号
47、为1的进程1+ 已杀死 sleep 1000rootdyzx # jobs -l/查看当前终端中的后台作业为空(无显示信息),任务6-5 使用ps和top命令监视进程状态,1.使用at命令制定一次性执行的计划任务at命令的一般格式为:,任务6-6 使用at和crontab命令实施计划任务管理,at 选项 执行任务的时间 执行任务的日期,常用的选项有:-m当at工作完成后,即使没有输出信息,也会以mail通知用户工作已完成。-l显示当前正在等待执行的计划任务队列(等同于atq命令)。-d 任务编号删除指定编号且尚未执行的计划任务(等同于atrm命令)。时间的指定方式有:绝对时间HH:MMam|p
48、m:如5:30pm、17:30。相对时间now+count time-units:其中,now就是当前时间;count是时间的数量;time-units是时间单位,如minutes(分钟)、hours(小时)、days(天)、weeks(星期)。如,“now+3min”表示当前系统时间的3分钟后。模糊词语:如midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等。日期的指定方式有:日期格式:month day(月 日)、mm/dd/yy(月/日/年)、dd.mm.yy(日.月.年)、YYYY-MM-DD(年-月-日)。如:Feb 24、24.2.2018、24
49、/2/2018、2018-2-24。模糊词语:today(今天)、tomorrow(明天)。,【例6-24】设置两个独立的计划任务:在当前系统时间的5分钟后自动执行以下的计划任务:统计该时间点系统中由root用户运行的进程数量,并将该数值保存到/tmp/ps.txt文件中;在当天的17:30分自动关机。步骤1:由于at命令依赖于atd服务,因此首先要确认系统服务atd已经启动,并确认开机时自动启动(避免中途关机而再开机时未自动启动时使计划任务失效)。,任务6-6 使用at和crontab命令实施计划任务管理,rootdyzx # systemctl is-active atdactiveroo
50、tdyzx # systemctl is-enabled atdenabled,步骤2:使用at命令设置一次性计划任务。,rootdyzx # at now+5minat echo Hello World /tmp/date.txt/输入要执行的命令并按【Enter】回车键at /任务设置完毕后按【Ctrl+D】组合键提交job 1 at Wed Mar 9 10:40:00 2017rootdyzx # at 17:30/设置在当天17:30时自动关闭系统at systemctl poweroffat job 2 at Wed Mar 9 17 :30:00 2017,步骤3:对已设置但还未