- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7 Linux的进程管理
实验7 Linux的进程管理 一、实验目的 二、实验工具与设备 三、实验预备知识 四、实验内容和步骤 五、实验总结 一、实验目的 1.熟悉和理解进程和进程树的概念,掌握有关进程的管理机制。 2.了解进程与程序、并行与串行执行的区别。 3.掌握使用Linux命令管理和操作进程的方法。 二、实验工具与设备 已安装Linux系统的计算机。 三、实验预备知识 Linux用分时管理方法使所有的任务共同分享系统资源。我们讨论进程的时候,不会去关心这些进程究竟是如何分配的,或者是内核如何管理、分配时间片的,我们所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 进程和作业的概念有区别。一个正在执行的进程称为一个作业,作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。例如,作业“ls /usr/bin|wc -w”同时启动了两个进程。 作业控制即控制正在运行的进程的行为。例如,用户可以挂起一个进程,过一会再继续执行该进程。shell将记录所有启动的进程情况。用户可以任意地挂起进程或重新启动进程。作业控制是许多shell(包括bash和tcsh)的一个特性,使用户能在多个独立作业间进行切换。 一般而言,进程与作业控制相关联时,才被称为作业。在大多数情况下,用户在同一时间只运行一个作业,即用户最后向shell键入的命令。但是,用户通过作业控制可以同时运行多个作业,并在需要时在这些作业之间进行切换。例如,用户在编辑一个文本文件的过程中,若需要终止编辑做其他事情时,可以利用作业控制让编辑器暂时挂起,返回shell提示符开始处理其他事情;其他事情结束后,可以重新启动挂起的编辑器,返回到刚才终止的位置,就像用户从来没有离开编辑器一样。 执行一个程序即启动一个进程。启动一个进程有两个主要途径:手工启动和调度启动,后者是事先进行设置,根据用户要求自行启动。 1.手工启动 手工启动:用户输入命令,直接启动一个进程。 手工启动进程可以分为多种,根据启动的进程类型不同、性质不同,实际结果也不一样。 (1)前台启动 前台启动是手工启动一个进程的最常用方式。一般地,键入命令“ls -l”即可启动一个进程,而且是一个前台的进程。这时候,系统处于一个多进程状态。虽然只是启动了一个进程,实际上有许多运行在后台的、系统启动时已经自动启动的进程正在悄悄运行着。若在键入“ls -l”命令后立即用命令“ps -x”查看,没有看到ls进程,这是由于ls进程结束太快,用ps查看时,该进程已经执行结束。 如果启动一个比较耗时的进程,例如: find / -name fox.jpg 然后把该进程挂起,用命令ps查看,可以看到一个find进程。 (2)后台启动 直接从后台手工启动一个进程用得比较少,除非是该进程比较耗时,且用户也不急于需要结果的时候。假设用户要启动一个需要长时间运行的格式化文本文件的进程,为了不使整个shell在格式化过程中都处于“瘫痪”状态,从后台启动该进程可以不妨碍用户同时做其他工作。从后台启动进程实际上是在命令结尾加上一个号。键入命令以后,出现一个数字,该数字就是该进程的编号,又称为PID;然后出现提示符,用户可以继续其他工作。 例如: #troff –me notes note_form [1] 4513 # 实际上,前台启动与后台启动的共同特点,是新进程都由当前shell进程产生,即shell创建了新进程,称这种关系为进程间的父子关系。这里,shell是父进程,新进程是子进程。一个父进程可以有多个子进程,一般子进程结束后才能继续父进程;如果从后台启动,就不用等待子进程结束。 一种比较特殊的情况是在使用管道符的时候。例如: nroff -man ps.1|grep kill|more 这时,实际上是同时启动了三个进程,所有放在管道两边的进程都将被同时启动,它们都是当前shell的子程序,互相之间可以称为兄弟进程。 2.调度启动 用户事先进行调度安排,指定任务运行的时间或场合,由系统自动完成工作。 四、实验内容和步骤 在一个Linux系统中,所有正在运行的进程组成一种树状的关系,初始化程序(init程序)是这棵进程树的根。init程序直接启动了许多系统进程,这些程序大多数属于守护程序(daemon)。守护程序在内存中运行以后,处于睡眠状态,基本上不占用CPU时间,当对应的请求到达时,该进程被激活并完成相应的处理工作,之后再转入睡眠状态。 可以用一些Linux命令操作和管理进程。 1.用ps命令观察Linux正在运行的进程 (1)ps命令:用于观察正在运行的进程的情况。 ps命令包括较丰富的可选参数,常见的可选参数包括如下几个。 -A:显示所有用户启动的进程。 -a:显示所有其
文档评论(0)