广东技术师范学院实验报告
学院:广东技术师范学院专业:软件工程班级:09软件成绩:姓名:学号:组别:组员:实验地点:工业中心204实验日期:2011.10.27指导教师签名:预习情况操作情况考勤情况数据处理情况
实验 9 项目名称: 进程管理
实验目的
理解进程管理的基本原理方法,掌握在Linux系统中查看进程状态、控制进程以及调整进程优先级等基本方法。
实验内容
2.1 进程管理的基本概念
什么是进程管理?要理解这个概念,就必须理解什么是进程。进程是在《操作系统原理》课程中的一个核心概念。进程(Process)是程序的一个执行过程。进程需要占用各种系统资源,包括CPU、内存等,需要读写各类文件,调用各种系统功能。自然,从进程的创建到撤销,操作系统会为它安排一切。不过,操作系统的安排是根据固定的算法所进行,纵使这些算法能根据当前情况不断调整,但不可能预先知道你的需要,然后让某个进程在特定某个时间挂起,让某个进程的优先级升高等等。因此,进程管理是指根据当前实际需求,对进程加以特定的控制。
作为一个管理员,定时查看当前系统中各个进程的具体状态,捕捉各种进程运行的异常,合理分配各类资源,特别是CPU资源给不同的进程,对各类进程有计划地控制等等,都属于进程管理的内容。系统为管理员提供了一系列的工具和命令,以让管理员完成管理工作。
2.2进程管理的基本方法
查看进程状态
获知进程状态是进程管理的第一步。UNIX系统为进程留了许多接口、命令和工具。最典型的是/proc文件系统。这是一个特殊的文件系统。在此文件系统中,每个目录对应于一个进程,目录的名称即为进程的PID号。进入某个进程对应的目录,里面有若干文件,这些文件记录了该进程当前运行的各种相关状态信息。应用程序可通过对这些文件打开并读取(部分甚至还能通过写文件控制进程)来获取进程信息。
例子:查看/proc文件系统
#cd /proc/
#ls
0 12294 16392 213144 28686 376918 53274 688280 864256
1 1245238 163974 217238 295118 381008 561308 69666 876674
……
#cd 1
#ls
#cred lwp psinfo sigact status
对于管理员,更常用的方法是利用ps命令来获知进程的基本状态。请参考以下例子并完成问题。
命令:ps
功能:列出当前活动进程的状态
格式:ps [选项] [参数]
选项:如果不使用任何选项,则列表显示当前工作站的活动进程,并且仅显示部分字段的内容。由于关于ps的选项很多,没必要全部列出并记忆,更常用的做法是记住一些有特定功能的选项组合。常用的选项含义如下:
-f:生成一个长列表(部分字段仍然省略了,但比不加该选项的要多)
-l(list):显示进程的全部列表字段信息
-e:显示除内核进程外的全部进程
-a:显示用户的全部进程
-u(user):显示特定用户的进程,
-k(kernel):显示内核进程
ps命令的一些常见的选项组合示例如下:
(1)仅显示当前工作站的活动进程
# ps
PID TTY TIME CMD
270396 pts/9 0:00 ps
725186 pts/9 0:00 –bash
(2)显示系统中除内核外的所有进程
# ps -e -f
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Aug 24 - 0:02 /etc/init
……
Zianed 1343542 741620 0 19:29:52 - 0:00 sshd: Zianed@pts/1
(3)显示关于特定用户的进程
# ps -lu user
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
40001 A 85287 421918 905408 0 60 20 1d966400 1012 - 0:00 sshd
240001 A 85287 503876 421918 0 60 20 3b49400 1168 f1000600021e1478 pts/7 0:00