《Linux操作系统》实验六-LinuxUNIX作业、任务和进程管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Linux操作系统》
实验报告
实验六:Linux/UNIX作业、任
务和进程管理
一、实验目的
(1) 掌握UNIX系统作业、任务和进程管理的任务,了解Linux系统进程管理的图形界面;
(2) 了解UNIX的系统进程间通信机制,掌握信号操作和终止进程的命令。
(3) 了解任务和作业管理命令at和batch;
(4) 掌握UNIX系统的进程定时启动管理命令crontab;
(5) 了解进程的挂起,掌握fg,bg等命令。
二、实验环境
一台装有Windows操作系统PC机,上装有虚拟机系统VMWare,实验过程通过VMWare系统启Linux系统工作。
三、实验内容与实验过程及分析
l) 进程管理与通信
ps -ef|more 显示所有进程以及启动参数
查看系统内的进程及进程树的命令是ps和pstree。借助在线帮助命令man ps或man pstree,以不同的参数运行ps和pstree观察输出,并弄清楚输出中每列的意义。
① ps –ef | more #显示所有进程及启动参数
② ps –ajx | more #以作业方式显示进行信息
③ ps –el | more #以长格式显示所有进程信息
④ pstree -p 或pstree –p | more
⑤ pstree -a 或pstree –a | more
(2) 终止进程的执行
①终止某一已知PID进程:ps –9 PID #PID由用户自己选择
②终止某一已知进程名的进程:
在当前终端上执行命令:man ps
换一终端在其运行:ps –e | grep man #确定进程PID
终止进程执行:kill –9 PID #PID是上命令查询的结果
③终止所的同名进程
终止上例中的man命令:killall man 或 killall –9 man
分别至少在2个不同终端上登录,然后在其中的一个终端上分别执行以下命令,并观察和分析原因。
killall bash
killall –9 bash
killall –9 bash 执行后退出了terminal,killall bash执行后关闭了进程
(3) 进程的挂起及前后台调度
在一个终端上起动命令man man,在不退出man命令的情况下按下组合键Ctrl+Z,观察反映。先后执行命令jobs和fg命令,并观察反映。
再按下组合键Ctrl+Z,在提示符下再启动一个命令(比如ps –e | more)后,按下组合键Ctrl+Z,然后再先后执行命令jobs和fg或fg 1或fg 2命令,并观察反映。
最后将每的被挂起的进程通过fg命令调住前台,然后正常终止它们。
启动命令man man 的时候进入了man的使用帮助界面,按下Ctrl+z后退出man的使用方法进入待命状态,执行jobs立刻回复了jobs,再按fg是又切换了man方法的使用帮助界面。再按下组合键Ctrl+Z,再一次进入待命行,输入 ps -e |more 后,出现PID从1到更多的进程信息,按下jobs查看到man man的进程,按fg切换到ps -e |more的命令。
(4) 查询使用某个文件系统的进程
分别在终端(F1)/dev/tty1和(F2)/dev/tty2上以不同用户登录,要求其中的一个是超级用户。使用命令查询命令
fuser -u /dev/tty1 和fuser -u /dev/tty2
观察执行的结果。
设root在F3上登录,在其上运行命令fuser -k /dev/tty2后观察F2上的用户情况。
没有看到情况的变化
(5)Linux系统的任务管理图形界面:
以下列方法进入图形界面:
->系统工具->系统监视器或
->System Tools->System Monitor
启动任务管理器。可通过界面进行相关操作,但最好不要做终止系统进程或自己进程之类的事。
2) at命令的使用。
(1) 任务的
编制一个任务让其在指定的(近期)时刻执行,以便于观察结果:
at time #比如0830,或now + 3 minutes 最好两个时间都试试
> clear > `tty`
> ls /tmp > /tmp/ls
> echo ”This is a DEMO to at” >> /tmp/ls
> Ctrl+D
也可使用vi /tmp/myjob将以下行保存到脚本文件/tmp/myjob,然后使用输入重定向或通过-f /tmp/myjob来启动作业。
echo ”at:BEGIN” > /tmp/at$$
ls /tmp >> /tmp/at$$
echo ”at:END” >> /tmp/ls$$
然后通过命令ls –l /tmp/at*观察,观察/tmp/at*的内容,分析后删除之。
(2) 查询at调度的作业
at –l
(3) 终止at调试的作业
at –r JID #JID为at –l查询出的作业号。
在命令执行前可用at –l 来查看任务或作业列表。
3) crontab命令的使用
以超级用户登录,为自己编制一个定期启动程序的规划,由cron调度执行。方法是:crontab –e (回车后进行编辑界面,编辑过程参见vi的使用)
(按i进入vi编辑状态,输入以下内容:)
10 11 * * * /sbin/init 6 #时间应根据具体情况而定,本例为11:10时,重启系统。
按ESC键退出编辑状态
再按:x存盘退出,crontab将提交本次的任务
至此任务提交完毕。你可以提交多行任务,让系统在不同的时间做指定的事情。这里只给出一行:在每天的11:10分系统重新启动。
可以用crontab –l 查看已提交的任务。
为避免对以后实验的影响,本次实验后请,请再次调用crontab –e命令解除已制订的任务。
也可仿此作其他任务的调度。
四、实验总结
存在问题:对于at调度任务还是不太明白,对作业的编辑还是较为陌生。
解决方法:多看书,从书上找到相关问题的解决办法,对于书上没有的内容上网查询,查看各种命令的使用方法及应用
收获:对任务的的调度有了一定的认识和使用,有问题要及时询问,上网查询解决。
五、教师评语