《Linux操作系统》实验六-LinuxUNIX作业、任务和进程管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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调度任务还是不太明白,对作业的编辑还是较为陌生。

解决方法:多看书,从书上找到相关问题的解决办法,对于书上没有的内容上网查询,查看各种命令的使用方法及应用

收获:对任务的的调度有了一定的认识和使用,有问题要及时询问,上网查询解决。

五、教师评语

相关文档
最新文档