实验8Linux的进程管理

上传人:宝路 文档编号:52443633 上传时间:2018-08-21 格式:PPT 页数:35 大小:491.93KB
返回 下载 相关 举报
实验8Linux的进程管理_第1页
第1页 / 共35页
实验8Linux的进程管理_第2页
第2页 / 共35页
实验8Linux的进程管理_第3页
第3页 / 共35页
实验8Linux的进程管理_第4页
第4页 / 共35页
实验8Linux的进程管理_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《实验8Linux的进程管理》由会员分享,可在线阅读,更多相关《实验8Linux的进程管理(35页珍藏版)》请在金锄头文库上搜索。

1、实验8 Linux的进程管理 一、实验目的 二、实验工具与设备三、实验预备知识 四、实验内容和步骤五、实验总结一、实验目的1熟悉和理解进程和进程树的概念,掌握 有关进程的管理机制。 2了解进程与程序、并行与串行执行的区 别。 3掌握使用Linux命令管理和操作进程的 方法。二、实验工具与设备已安装Linux系统的计算机。三、实验预备知识Linux用分时管理方法使所有的任务共同分享 系统资源。我们讨论进程的时候,不会去关心这些 进程究竟是如何分配的,或者是内核如何管理、分 配时间片的,我们所关心的是如何去控制这些进程 ,让它们能够很好地为用户服务。 进程和作业的概念有区别。一个正在执行的进 程称

2、为一个作业,作业可以包含一个或多个进程, 尤其是当使用了管道和重定向命令。例如,作业“ls /usr/bin|wc -w”同时启动了两个进程。作业控制即控制正在运行的进程的行 为。例如,用户可以挂起一个进程,过一 会再继续执行该进程。shell将记录所有启 动的进程情况。用户可以任意地挂起进程 或重新启动进程。作业控制是许多shell( 包括bash和tcsh)的一个特性,使用户能 在多个独立作业间进行切换。一般而言,进程与作业控制相关联时,才被 称为作业。在大多数情况下,用户在同一时间只运 行一个作业,即用户最后向shell键入的命令。但是 ,用户通过作业控制可以同时运行多个作业,并在 需要

3、时在这些作业之间进行切换。例如,用户在编 辑一个文本文件的过程中,若需要终止编辑做其他 事情时,可以利用作业控制让编辑器暂时挂起,返 回shell提示符开始处理其他事情;其他事情结束后 ,可以重新启动挂起的编辑器,返回到刚才终止的 位置,就像用户从来没有离开编辑器一样。执行一个程序即启动一个进程。启动一 个进程有两个主要途径:手工启动和调度启 动,后者是事先进行设置,根据用户要求自 行启动。 1手工启动 手工启动:用户输入命令,直接启动一 个进程。 手工启动进程可以分为多种,根据启动 的进程类型不同、性质不同,实际结果也不 一样。(1)前台启动 前台启动是手工启动一个进程的最常用方式。一 般地

4、,键入命令“ls -l”即可启动一个进程,而且是一个 前台的进程。这时候,系统处于一个多进程状态。虽然 只是启动了一个进程,实际上有许多运行在后台的、系 统启动时已经自动启动的进程正在悄悄运行着。若在键 入“ls -l”命令后立即用命令“ps -x”查看,没有看到ls进 程,这是由于ls进程结束太快,用ps查看时,该进程已 经执行结束。 如果启动一个比较耗时的进程,例如:find / -name fox.jpg 然后把该进程挂起,用命令ps查看,可以看到一个find 进程。(2)后台启动直接从后台手工启动一个进程用得比较少, 除非是该进程比较耗时,且用户也不急于需要结果 的时候。假设用户要启动

5、一个需要长时间运行的格 式化文本文件的进程,为了不使整个shell在格式化 过程中都处于“瘫痪”状态,从后台启动该进程可以 不妨碍用户同时做其他工作。从后台启动进程实际 上是在命令结尾加上一个&号。键入命令以后,出 现一个数字,该数字就是该进程的编号,又称为 PID;然后出现提示符,用户可以继续其他工作。例如: troff me notes note_form & 1 4513 实际上,前台启动与后台启动的共同特点 ,是新进程都由当前shell进程产生,即shell创建 了新进程,称这种关系为进程间的父子关系。这 里,shell是父进程,新进程是子进程。一个父进 程可以有多个子进程,一般子进程

6、结束后才能继 续父进程;如果从后台启动,就不用等待子进程 结束。一种比较特殊的情况是在使用管道符的 时候。例如:nroff -man ps.1|grep kill|more 这时,实际上是同时启动了三个进程, 所有放在管道两边的进程都将被同时启动, 它们都是当前shell的子程序,互相之间可以 称为兄弟进程。 2调度启动 用户事先进行调度安排,指定任务运行 的时间或场合,由系统自动完成工作。四、实验内容和步骤在一个Linux系统中,所有正在运行的进 程组成一种树状的关系,初始化程序(init程 序)是这棵进程树的根。init程序直接启动了 许多系统进程,这些程序大多数属于守护程序 (daemo

7、n)。守护程序在内存中运行以后, 处于睡眠状态,基本上不占用CPU时间,当对 应的请求到达时,该进程被激活并完成相应的 处理工作,之后再转入睡眠状态。可以用一些Linux命令操作和管理进程 。 1用ps命令观察Linux正在运行的进程 (1)ps命令:用于观察正在运行的进程的 情况。 ps命令包括较丰富的可选参数,常见的 可选参数包括如下几个。 -A:显示所有用户启动的进程。 -a:显示所有其他用户的进程。 -u:显示进程拥有者、进程启动时间等更 详细的信息。 -x:显示不是由终端提供的进程信息。 -r:只显示正在运行的进程。 -m:显示线程信息。 -w:宽行显示进程信息。 -l:用长格式显示

8、进程信息。 -t:只显示由终端/dev/tty提交的进程。(2)执行ps命令操作:ps命令可以显示本机正在运行 的所有进程(包括其他用户和系统运行的 进程)的详细列表。 命令格式:ps aux 执行该命令将显示类似图7-1所示信息 。根据命令的执行结果,分析各进程的运 行情况。图7-1 显示本机运行的所有进程的详细列表其中, USER:表示进程的拥有者。 %CPU:表示CPU时间的占用比例。 %MEM:表示内存的占用比例。 SIZE:表示进程的大小。 RSS:表示常驻内存部分大小。 START:表示进程的启动时间。 PID:进程的ID编号,每个进程都有一个惟一的 PID号,初始化程序init的

9、PID为1,进程越靠近“进 程树”的根,则进程的PID就越小。TTY:表示提交该进程的终端号。 STAT:表示该进程所处的状态。常见的进程状 态有如下几个。 R:表示正在运行,要占用CPU的时间; S:表示处于睡眠状态,不占用CPU的时间; D:表示处于不可终止的睡眠状态; T:表示已停止或被跟踪; TIME:表示该进程已运行的时间。 COMMAND:进程所对应的命令。(3)绘制进程树为了绘制进程树,需要获得更多有关进 程的信息,特别是要知道每个进程的父进程 的ID号。可用以下命令显示所有进程的详细 信息:ps Al 运行该命令后,得到当前系统的进程信 息,如图7-2所示,其中,F:表示进程的

10、标志; UID:表示进程拥有者的ID号; PPID:表示进程的父进程ID号,其中初 始化程序init父进程ID号为0; PRI:时间片的长度; NI:进程的优先级; UCHAN:进程中处于睡眠状态的内核 函数名称。 图7-2 执行ps Al命令显示的进程信息操作:根据图7-2显示的进程信息,参照图7-3所示绘 制自己系统的进程树。图7-3 根据图7-2显示的进程信息绘制的进程树2用kill命令删除进程 当用户在某个终端仿真程序窗口中因运 行的程序失败而使终端停止反应,或某个进 程已不再有用,可以用kill命令删除该进程。 通常,用户只能删除自己拥有的进程,只有 root用户可以删除任意用户的进

11、程。 命令格式:kill 其中,是指要删除进程的ID号。操作:用kill 949命令将进程ID号为949的进程 删除。 说明:由于进程949为进程1346的父进程,所 以在删除进程949的同时,也将进程1346终止了。 操作:用ps命令重新显示进程的信息。 kill实际上是将一个终止信号发送到目标进程 ,该进程接收到这个信号后,结束进程的运行并释 放占用的资源。该命令类似于Windows系统中用 Ctrl+Alt+Del结束任务的操作。 某些进程不能通过简单的kill命令删除,可以 用“无条件”删除命令删除进程,即kill 9 子进程的运行受父进程状态的影响,即 如果父进程被删除,则子进程也将

12、终止。但 也可以使程序的运行不受父进程的影响。可 以在运行该程序(命令)时用以下方式:nohup 有些程序本身已被设计为不受父进程影 响(大部分的守护程序均属这类程序),对 于这些程序,只需以正常的方式运行即可。对于需要长时间运行的程序,为了不影响系统的 工作,可以用后台运行的方法运行该程序。Linux支持 进程的后台执行,即在运行的命令后加一个后台执行 符“&”,使相应的命令放到后台去执行。 操作:连续执行下列命令,观察后台程序的执行 情况:make dep | mail sa s “make dep“ &ls 以下命令在字符界面(非仿真终端)下操作: 在用户执行logout后,未执行完毕的

13、后台进程仍继续执 行:nohup & 结束所有进程:kill 03设置和更改进程的优先级进程具有优先级。优先级一般是用一个数来 表示的,这个数可以是负数,这个数越小,表示的 优先级越高,默认的优先级为0。如果优先级是一 个负数,表示该进程具有较高的优先级,+20为最 低优先级。具有较高优先级的进程可以获得更多的 CPU时间。 直接运行一个程序,该进程获得默认的优先 级(即优先级为0),也可以在运行程序时指定优 先级,方法:nice - 。例如: nice -10 find / -name “abc*“ printfname 以优先 级-10运行“find”命令 nice -10 find /

14、-name “abc*“ printfname find获得 的优先级为10操作:在字符界面下输入下列命令:nice -10 find / -name “abc*“ printfnameps Alnice -10 find / -name “abc*“ printfnameps Al比较前后两次操作显示的进程信息。 可以用renice命令改变一个正在运行进 程的优先级。 命令格式:renice 只有root用户可以增加进程的优先级, 而且可以用于任何进程;其他用户只能改变 自己拥有进程的优先级,且优先级只能为0 20。4定时执行程序 用at命令可以定时执行指定的程序。 命令格式:at 操作:按

15、以下方法设定在当天的16:00将/root/abc 的文件以电子邮件方式发送给用户student01和 student02。 (1)在提示符后输入命令:at 16:00。 (2)按回车键后,光标停留在下一行,并显 示“at”,在该提示符后输入如下命令行:cat /root/abc | mail s “file abc“ student01 student02(3)按回车键后,光标另起一行,仍然 显示“at”,按“Ctrl+d”组合键结束,同时 系统显示如下信息:job 1 at 2003-02-10 16:00 该信息说明这项任务将在当天16:00定时执 行。 at命令后面还可以带有参数,请熟

16、悉它们的 使用。5在GNOME图形用户界面下监视系统 的进程 可以在图形用户界面(GNOME)下使用 “系统监视器”监视进程信息。 启动系统监视器的方法:在GNOME的“ 开始”菜单中选择“系统工具系统监视器”选 项,弹出“系统监视器”对话框,如图7-4所示。 选择“进程列表”选项卡,监视系统进程的 使用情况和有关CPU、内存等的使用情况。图7-4 GNOME中监视系统的进程信息附:上机内容(1)使用at命令定时执行某命令,如定时 列举/var/log目录文件的详细信息,并将其 保存到某文本文件。 (2)使用cron和crontab周期性执行某任 务,例如截断日志 (3)使用ps和top命令查看进程信息 (4)后台执行top命令,分别用kill和 killall杀死该进程。五、实验总结1写出实验报告。 2根据实验所用的系统的进程信息。绘制 出该系统的进程树。 3试分析:若删除进程号为1的进程(即初 始化程序init),将会发生什么情况,并在 系统中执行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号