操作系统实验3答案

  • 格式:doc
  • 大小:105.00 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三操作系统进程管理

一、实验目的

1) 掌握系统进程的概念,加深对Linux / UNIX进程管理的理解。

2) 学会使用ps命令和选项。

3) 列出当前shell中的进程。

4) 列出运行在系统中的所有进程。

5) 根据命令名搜索特定的进程。

6) 使用kill命令终止进程。

7) 根据用户名查找和终止进程。

二、实验内容和相应的答案截图,三、实验结果分析

步骤1:创建一个普通用户(参见实验二),以普通用户身份登录进入GNOME。

步骤2:打开一个“终端”窗口(参见实验二)。

步骤3:回顾系统进程概念,完成以下填空:

1) Linux系统中,几乎每一个启动的进程,都会由内核分配一个唯一的__PID__进程标识符,用于跟踪从进程启动到进程结束。

2) 当启动新进程的时候,内核也给它们分配系统资源,如__内存_和__CPU_。

3) 永远不向父进程返回输出的进程叫做__僵进程__。

4) 由父进程派生出来的进程叫做____子___进程。

5) ___父_进程是一个派生另一个进程的进程。

6) 运行用于提供服务的Linux系统进程是_______________。

7) 如果父进程在子进程之前结束,它创建了一个______________进程。

步骤4:回顾ps命令和信息。基本的ps命令显示当前shell中的进程信息,用户只能够查看当前终端窗口中初始化的进程。输入ps命令,将结果填入表3-3中。

表3-3 实验记录

下面,在当前终端窗口中,练习使用给出的每个选项的ps命令。

输入ps -f 命令,显示运行在系统中的某个进程的完全信息,填入表3-4中。

表3-4 实验记录

步骤5:列出系统中运行的所有进程。

输入ps -ef 命令,显示运行在系统中的各个进程的完全信息。执行该命令,并与ps –f 命令的输出结果对照,一致吗?有何不同?

答:不一致,后者显示了所有进程的完全可用信息,多了很多。

分析当前终端窗口中的输出结果,记录下来用于写实验报告。

a. 显示了多少个进程?答:59

b. 进程ID的PID是什么?

c. 启动进程的命令(CMD) 是什么?答:sched

d. 请观察,什么命令的PID号是1?答:init[5]

e. 执行ps –ef >aaa命令,将ps命令的输出送到文本文件aaa。再次运行cat aaa | wc命令,计算进程的数目。其中,cat是显示文本文件命令。“|”是管道命令,就是将前一个命令的输出作为后一个命令的输入。wc 命令用来计算文本的行数,第一个数字显示的是行的数目,可以用来计算进程的数目。计算出进程数目并做记录。

执行man ps命令,可以打开Linux用户命令手册。了解ps命令的用法。输入wq命令可退出用户手册的阅读。man命令可以执行吗?结果如何?

答:Man ps时出现

步骤6:确定一个要终止的进程。

当试图终止一个程序,或者释放一个挂起的终端窗口的时候,杀死和不响应的应用相关的PID可能还是不够的,一般需要杀死那个进程的父进程,在少数情况下,甚至要杀死父进程的父进程。为了沿着层次结构,从子进程追溯到派生它们的父进程,必须能够查找PID 和PPID。

必须首先确定最低级不响应进程的PID。通常,可以试着去杀死那个进程。如果这样做不能够停止那个进程,可能需要杀死它的父进程。杀死父进程将杀死所有它派生的子进程。杀死一个父进程也比杀死几个子进程快得多。

1) 在GNOME当前终端窗口中,输入ps命令。有多少进程正在运行?为什么只有这么少的进程?答:2个,只显示当前用户的进程

2) 正在运行的进程的名字是什么?它表示什么?答:bash和ps 前者是Linux 平台的内定Shell,后者是查看进程的命令

3) 进程的PID是多少?答:3348 3537

4) 在bash shell中输入命令csh,打开一个C shell会话,当前系统的会话提示符是什么?(注:csh是和bash类似的另外一种命令解释程序)

5) 输入ps -f 命令,显示在当前shell中运行的进程的所有信息。现在什么进程正在运行?

6) bash的PID是-sh (csh) 的PPID吗?答:是

7) 输入命令sleep l000&,创建一个进程,把执行挂起1000秒(大约15分钟) 。&表示在后台运行命令,返回shell提示符,这样您可以继续工作。

8) 再次输入ps -f命令。-sh (csh) 的PID是sleep命令的PPID吗?哪些PID是csh (C shell) 的子进程?

9) 输入命令kill -9 退出C shell。然后再次键入ps -f命令。什么PID是sleep父命令的PPID?

sleep进程现在是什么类型的进程?

四、心得体会

通过这次的实验,我初步了解学会使用ps命令和选项。还有如何列出当前shell中的进程。如何列出系统中的所有进程和用户的进程,对于搜索特定的进程也有了一些了解,对于如何杀死进程还不是很了如指掌,但也有了一定的了解。还有查找和终止进程等一些知识。当然对于些次的实验我未能全部都做完,但也完成得七七八八了,总的来说这次的实验对我的帮助很大。