实验7 Linux的进程管理

时间:2025-03-10

实验预备知识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 进程。

(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:显示所有其他用户的进程。

-u:显示进程拥有者、进程启动时间等更 详细的信息。 -x:显示不是由终端提供的进程信息。 -r:只显示正在运行的进程。 -m:显示线程信息。 -w:宽行显示进程信息。 -l:用长格式显示进程信息。 -t:只显示由终端/dev/tty提交的进程。

(2)执行ps命令操作:ps命令可以显示本机 …… 此处隐藏:705字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验7 Linux的进程管理.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219