实验八、进程管理
一、实验要求
(1)掌握手工启动前后台作业的方法;
(2)掌握进程与作业管理的相关shell命令;
(3)掌握at调度和cron调度的设置方法;
(4)掌握系统性能监视的基本方法。
二、实验内容和实验步骤
1、作业和进程的基本管理
【操作要求1】先在前台启动vi编辑器并打开f4文件,然后挂起,最后在后台启动一个查找inittab文件的find作业,find的查找结果保存到f5。注意,首先要创建文件f4。
【操作步骤】
(1)以超级用户身份登录到字符界面。
(2)输入命令:vi f4,在前台启动vi编辑器并打开f4文件。
(3)按【ctrl+z】组合键,暂时挂起“vi f4”作业,屏幕显示该作业的作业号。
(4)输入命令“find /-name inittab >f5 &”,启动一个后台作业,在显示作业号的同时还显示进程号。结果截图:
【操作要求2】查看当前作业、进程和用户信息,并对作业进行前后台切换。
【操作步骤】
(1) 输入命令“jobs”,查看当前系统中的所有作业。结果截图:
由此可知“vi f4”作业的作业号为:1 ,已经停止。“find / -name inittab > f5 &”作业的作业号为: 2,正在运行。
(2)输入命令“fg 2”,将“find /-name inittab >f5 &”作业切换到前台。屏幕显示出“find /-name inittab > f5”命令,并执行此命令。稍等片刻,作业完成后屏幕再次出现命令提示符。
(3)输入命令“cat f5”,查看“find /-name inittab >f5”命令的执行结果。
(4)再次输入“jobs”,可发现当前系统中的只有一个已停止的作业“vi f4”。
(5)输入命令“kill -9 %1”,终止“vi f4”作业。以上步骤结果截图:
使用kill命令时,“-9”选项可强制性终止进程或者作业。
(6)稍等片刻,输入命令“jobs”,查看到当前没有任何作业。结果截图:
(7)输入命令“ps –l”,查看进程的相关信息,显示的结果截图:
(8)输入命令“who - H”,查看用户信息。结果截图:
2、at进程调度
【操作要求1】:设置一个调度,要求在2008年1月1日0时,向所有用户发送新年快乐的问候。
【操作步骤】
(1)超级用户登录输入命令“at 00:00 01012008”,设置2008年1月1日时执行at调度的内容。
(2)屏幕出现“at >”,输入“wall Happy New Year!”,向所有用户发送消息。
(3)光标移动到”at >”提示符的第三行,按Ctrl+D 组合键结束输入。根据调度设置的时间,最后显示出作业号和将要运行的时间。结果截图:
【操作要求2】设置一个调度,要求5分钟后向所有用户发送系统即将重启的消息。
【操作步骤】
(1)超级用户输入命令“at now +5 minutes”,设置5分钟后执行的at调度的内容。
(2)屏幕上出现at调度的命令提示符“at > ”,输入“wall please logout;the computer will restart.”,向所有用户发送消息。
(3)光标移动到”at >”提示符的第三行,按Ctrl+D 组合键结束输入。最后显示作业号和运行时间。结果截图:
【操作要求3】查看所有的at调度,并删除08年1月1日执行的调度任务。
【操作步骤】
(1)输入“atq”命令,查看所有的at调度,显示出作业号、将在何时运行以及at调度的设置者。结果截图:
(2) 输入“atrm 1”命令删除作业号为1的at调度,并再次输入“atq”命令查看剩余的所有at调度内容。结果截图:
(3)5分钟后系统将自动运行作业号为2的at调度内容,向所有用户发送消息。
3、cron进程调度
【操作要求1】user用户设置crontab调度,要求每天上午8时30分查看系统的进程状态,并将查看结果保存于ps.log文件。
【操作步骤】
(1)以普通用户user登陆,并输入命令“crontab –e”,新建一个crontab配置文件。
(2)屏幕出现vi编辑器,按i进入输入模式,输入“30 8 * * * ps > ps.log”。
(3)按ESC退出vi文本输入模式,按:切换到最后行模式,输入“wq”,保存并退出编辑器,显示“crontab:installing new crontab”信息。
(4)输入命令“crontab –l”,查看user用户的cron调度内容。结果截图:
(5)为立即查看到crontab调度的结果,切换为超级用户,并适当修改系统时间,如果修改为8时29分。最后退回到user用户。过程截图:
(6)等待1分钟,查看ps.log文件的内容,如果显示出正确的内容,那么说明crontab调度设置成功。
【操作要求2】user用户添加设置crontab调度,要求每三个月的1日零时查看正在使用的用户列表。
【操作步骤】
(1)再次输入命令“crontab -e”,出现vi编辑器,按i键,屏幕进入文本输入模式。
(2)在原有内容之后,另起一行,输入“0 0 * */3 * who > who.log”。
(3)最后保存并退出vi编辑器。
(4)为立即查看到crontab调度的结果,切换为超级用户,并适当修改系统时间,如修改为3月31日23时59分。最后退回到user用户。过程截图:
(5)等待1分钟后,查看who.log文件的内容,如果显示出正确的内容,那么说明新增加的crontab调度设置成功。
【操作要求3】查看cron调度,最后删除此调度。
【操作步骤】
(1)输入命令“crontab -l”,查看cron调度的内容。截图如下:
(2)输入命令“crontab -r”,删除cron调度内容。
(3)再次输入命令“crontab -l”,此时无cron调度内容。截图如下:
4、系统性能监视
【操作要求1】利用top命令监视系统性能。
【操作步骤】
(1)输入命令“top”,屏幕动态显示CPU利用率,内存利用率和进程状态等相关信息,结果截图:
(2) 按M键,所有进程按照内存使用率排列, 结果截图:
(3)按T键,所有进程按照执行时间排列,结果截图:
(4)最后按P键,恢复按照CPU使用率排列所有进程。
(5)按Ctrl+C结束top命令。
【操作要求2】在GNOME桌面环境下,利用“系统监视器”工具监视CPU使用情况、查看当前所有进程、查看所有的文件系统、查看系统日志。该步骤不需要记录。
【操作要求3】查看子进程、父进程关系。
【操作步骤】输入命令:ps –ef, 结果截图:
【操作要求4】查看进程的状态。
【操作步骤】输入命令:ps –axu,结果截图:
【操作要求5】使ps –ef 延迟10s再执行。
【操作步骤】输入命令:sleep 10;ps –ef
【操作要求6】利用kill命令杀死程序产生的进程。
【操作步骤】输入命令:
(1)输入命令:vi & ,打开vi并转入后台运行;
(2)输入命令:ps,列出所有进程;
(3)输入命令:kill -9 PID(指定vi的ID),杀死指定PID的进程;
(4)输入命令:ps,再查看进程,该进程已被杀死。以上步骤结果截图: