1 / 32

第九章

第九章. 系统服务与作业管理. 第九章 系统服务与作业管理. 第九章 系统服务与作业管理 (2). 本章要点. 掌握系统资源控制器的使用 掌握管理进程的方法 使用 cron 子系统来调度周期性运行的作业 使用 at 和 batch 命令来调度作业 了解 skulker 程序的功能. 9.1.1 系统资源控制器. System Resource Controller(SRC) 系统资源控制器. 通过统一的接口来启动停止和显示子系统的状态 记录子系统的非正常终止 可对子系统组和子服务器程序进行跟踪 支持远程的控制操作 提供刷新子系统的功能.

nida
Download Presentation

第九章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第九章 系统服务与作业管理

  2. 第九章 系统服务与作业管理

  3. 第九章 系统服务与作业管理(2) 本章要点 掌握系统资源控制器的使用 掌握管理进程的方法 使用cron子系统来调度周期性运行的作业 使用at和batch命令来调度作业 了解skulker程序的功能

  4. 9.1.1 系统资源控制器 System Resource Controller(SRC) 系统资源控制器 通过统一的接口来启动停止和显示子系统的状态 记录子系统的非正常终止 可对子系统组和子服务器程序进行跟踪 支持远程的控制操作 提供刷新子系统的功能

  5. 系统资源控制器(2) 命令 参数 lssrc startsrc stopsrc refresh -s -g 后面跟具体某个子系统 后面跟具体某个子系统组

  6. 系统资源控制器(3) Examples: 启动子系统 # startsrc -s qdeamon 停止子系统 # stopsrc -s qdeamon 刷新子系统 # refresh -s qdeamon 显示子系统状态 # lssrc -a

  7. lssrc 命令 列出所有的子系统 正在对外服务 没有对外服务

  8. lssrc 命令(2) 列出属于tcpip组的所有子系统

  9. lssrc 命令(3) 列出具体某个子系统的状态 列出具体某个子服务的状态

  10. 系统服务管理要点 很多服务都有各自的配置文件,比如inetd服务的配置文件是/etc/inetd.conf;sendmail服务的配置文件是/etc/sendmail.cf 每个服务的启动都要去读取其配置文件,所以正确配置其配置文件是很重要的 修改了配置文件,需要执行refresh命令更新一下服务,即再次读取其配置文件

  11. 9.1.2 进程管理 进程号 父进程号

  12. 进程管理(2)—终止进程 用kill 命令结束后台进程 # kill 7224 7224为某个进程的进程号 # kill -9 7224 (-9 选项,表示强行终止某个进程) # kill -1 7224 (-1 选项,表示刷新某个进程,相当与refresh命令) 结束前台进程 <crl+c>

  13. 9.2.1 cron作业管理 在某个指定日期及时间自动处理安排批量作业,必须使用cron 进程 cron 通常在系统启动时由/etc/inittab启动它是一daemon进程被终止后又自动重启

  14. cron作业管理(2) crontab文件用于在指定日期和时间周期性地执行作业 crontab 作业存放在/var/spool/cron/crontabs/$USER cron根据crontab文件项运行命令。如果用户不指定将cron作业的输出重定向到标准输出或标准错误。cron将使用电子邮件向用户报告其输出或错误

  15. cron作业管理(3) 控制用户使用crontab的两个文件: /var/adm/cron/cron.deny 记录不允许使用cron的用户,若这个文件存在,那么除了这个文件里头所列的用户外,其他任何用户都可以使用cron /var/adm/cron/cron.allow 记录允许使用cron的用户,若这个文件存在,那么只有这个文件里头所列的用才使用cron,对root也不例外

  16. crontab文件

  17. crontab文件(2) crontab格式: 分钟 小时 日 月份 星期 命令 (0-59) (0-23) (1-31) (1-12) (0-6,0为周日) 星号* 表示任意时间;逗号表示分别在什么时候

  18. crontab文件(3) 示例1: 0 0 * * 1-5 backup –0 –u –f /dev/rmt0 周一至周五的,每天24:00整执行backup –0 –u –f /dev/rmt0命令 示例2: 0,15,30,45 8-17 * * 1-5 /tmp/script1 周一至周五的,每天早上8点至17点,每个15分钟执行/tmp/script1命令

  19. crontab命令 查看cron表 # crontab –l 删除cron表 • # crontab –r

  20. crontab命令(2) 编辑cron表 方法一: # crontab –e 方法二: # crontab –l>/tmp/crontmp # vi /tmp/crontmp # crontab /tmp/crontmp

  21. crontab命令(3) 要使用cron,用户必须建立crontab文件 cron进程将crontab文件驻留在内存中,所以用vi直接修改硬盘上的cron文件是没有效果的 必须使用crontab命令操作,它会告诉cron进程crontab文件已修改

  22. 9.2.2 at作业管理 at命令用于在指定时间执行一次性作业,它从标准输入读取要执行的命令 at作业存放在/var/spool/cron/atjobs/$USER中

  23. at作业管理(2) 控制用户使用at 的两个文件: /var/adm/cron/at.deny 记录不允许使用at的用户,若这个文件存在,那么除了这个文件里头所列的用户外,其他任何用户都可以使用at /var/adm/cron/at.allow 记录允许使用at的用户,若这个文件存在,那么只有这个文件里头所列的用才使用at,对root也不例外

  24. at作业管理(3) 示例: 2分钟后发个大字体的hello的字符给/dev/tty3终端: # at now +2 mins banner hello > /dev/tty3 < ctrl + d > job user.time.a will be run at date

  25. at作业管理(4) 列示at作业清单 # at –l [user] # atq [user] 取消at作业 # at -r job # atrm {job | user} 只有 root才可以列出和取消所有的作业,包括其他人的作业;其他人只能取消他本人的作业

  26. batch作业管理 示例: CPU空闲时发个hello的banner信号给/dev/tty3终端: # batch banner hello > /dev/tty3 < ctrl + d > batch命令用于在CPU空闲时执行一次性作业,即在处理负载足够低时提交作业

  27. 9.2.3 skulker 命令 skulker 用来删除过时的文件,清理文件系统;通过修改skulker脚本调整要清除旧文件 • 比如删除以下文件: • 旧的qdir 文件 • /var/tmp中的文件 • 一天以前的*.bak、a.out、core等文件

  28. skulker 命令(2) skulker通常写入root的crontab文件中,由cron 守候进程每日执行一次;新安装好一个系统后,想要启动skulker,只好修改root的crontab文件 skulker是个脚本,不是一个服务,可以直接执行skulker命令,但不能用startsrc –s skulker启动

  29. 9.2.4 测试题(1) 1、修改后/etc/inetd.conf文件后,要使得修改生效,还须执行下面哪个操作? • service -s inetd • restart -s inetd • refresh -s inetd • service inetd restart

  30. 测试题(2) 2、用哪个命令用来结束后台进程? • <ctrl+c> • kill • skulker • refresh

  31. 测试题(3) 3、系统刚重新安装过,如何enable skulker? • startsrc -s skulker • chitab "skulker:2:wait:/etc/rc.skulker" • 将root的 crontab中的skulker的注解去除掉 • 将/etc/inetd.conf文件中skulker的注解去除掉,再refresh inetd

  32. 测试题(4) 答案 1、C 2、B 3、C

More Related