实验9-linux进程管理与系统监视_第1页
实验9-linux进程管理与系统监视_第2页
实验9-linux进程管理与系统监视_第3页
实验9-linux进程管理与系统监视_第4页
实验9-linux进程管理与系统监视_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档就在这里-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------精品文档---------------------------------------------------------------------广东技术师范学院实验报告学院:广东技术师范学院专业:软件工程班级:09软件成绩:姓名:学号:组别:组员:实验地点:工业中心204实验日期:2011.10.27指导教师签名:预习情况操作情况考勤情况数据处理情况实验9项目名称:进程管理实验目的理解进程管理的基本原理方法,掌握在Linux系统中查看进程状态、控制进程以及调整进程优先级等基本方法。实验内容2.1进程管理的基本概念 什么是进程管理?要理解这个概念,就必须理解什么是进程。进程是在《操作系统原理》课程中的一个核心概念。进程(Process)是程序的一个执行过程。进程需要占用各种系统资源,包括CPU、内存等,需要读写各类文件,调用各种系统功能。自然,从进程的创建到撤销,操作系统会为它安排一切。不过,操作系统的安排是根据固定的算法所进行,纵使这些算法能根据当前情况不断调整,但不可能预先知道你的需要,然后让某个进程在特定某个时间挂起,让某个进程的优先级升高等等。因此,进程管理是指根据当前实际需求,对进程加以特定的控制。 作为一个管理员,定时查看当前系统中各个进程的具体状态,捕捉各种进程运行的异常,合理分配各类资源,特别是CPU资源给不同的进程,对各类进程有计划地控制等等,都属于进程管理的内容。系统为管理员提供了一系列的工具和命令,以让管理员完成管理工作。2.2进程管理的基本方法查看进程状态获知进程状态是进程管理的第一步。UNIX系统为进程留了许多接口、命令和工具。最典型的是/proc文件系统。这是一个特殊的文件系统。在此文件系统中,每个目录对应于一个进程,目录的名称即为进程的PID号。进入某个进程对应的目录,里面有若干文件,这些文件记录了该进程当前运行的各种相关状态信息。应用程序可通过对这些文件打开并读取(部分甚至还能通过写文件控制进程)来获取进程信息。例子:查看/proc文件系统#cd/proc/#ls0122941639221314428686376918532746882808642561124523816397421723829511838100856130869666876674……#cd1#ls#credlwppsinfosigactstatus 对于管理员,更常用的方法是利用ps命令来获知进程的基本状态。请参考以下例子并完成问题。命令:ps功能:列出当前活动进程的状态格式:ps[选项][参数]选项:如果不使用任何选项,则列表显示当前工作站的活动进程,并且仅显示部分字段的内容。由于关于ps的选项很多,没必要全部列出并记忆,更常用的做法是记住一些有特定功能的选项组合。常用的选项含义如下:-f:生成一个长列表(部分字段仍然省略了,但比不加该选项的要多)-l(list):显示进程的全部列表字段信息-e:显示除内核进程外的全部进程-a:显示用户的全部进程-u(user):显示特定用户的进程,-k(kernel):显示内核进程ps命令的一些常见的选项组合示例如下:(1)仅显示当前工作站的活动进程#ps PIDTTYTIMECMD270396pts/90:00ps725186pts/90:00–bash(2)显示系统中除内核外的所有进程 #ps-e-f UIDPIDPPIDCSTIMETTYTIMECMDroot100Aug24-0:02/etc/init……Zianed1343542741620019:29:52-0:00sshd:Zianed@pts/1(3)显示关于特定用户的进程 #ps-luuserFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD40001A85287421918905408060201d9664001012-0:00sshd240001A85287503876421918060203b494001168f1000600021e1478pts/70:00bash(4)显示系统内核的进程 #ps-kPIDTTYTIMECMD0-0:29swapper8196-2395:12wait12294-0:00sched(5)查看各个进程占用CPU的情况 #psauxUSERPID%CPU%MEMSZRSSTTYSTATSTIMETIMECOMMANDroot819612.10.0384384-AAug243630:51wait……上述每个例子返回结果都是以列表形式出现,列表中主要字段的含义如下,PID:进程标识号PPID:进程的父进程标识号UID:进程所属的用户IDTTY:进程所属的终端号TIME:进程的执行时间总和CMD(command):进程的命令名STIME:进程的启动时间PRI(priority):进程的优先级,数字越大优先级越低NI(nice):进程的谦让度S(status):进程的状态,对于一般进程主要状态有:A(活动的)、T(已停止)、Z(已取消)等。对于内核进程主要状态有:R(正在运行)、S(休眠)、T(已停止)、Z(已取消)等。控制作业的基本操作除对进程进行控制外,作业(job)是另一个与进程控制密切相关的概念。简单来说,作业是用户向系统提交的一个任务请求,系统根据请求创建相应的进程完成该任务。用户每输入的一个shell命令其实都是一个作业,这个作业经解释后对应于一个到多个进程加以执行。作业可以在前台执行,这是用户可以跟作业进行交互。当用户并不需要与作业交互,则作业也可以在后台执行。如果用户想作业启动之初就让其在后台运行,就需要在关于该作业的shell命令结尾加上"&"。作业执行时有作业号,用户可根据作业号对作业进行相应的控制,最基本的控制是将作业在终端的前后台之间切换。命令:jobs功能:查看当前用户的作业情况格式:jobs命令:bg功能:将前台作业切换到后台执行格式:bg作业号命令:fg功能:将后台作业切换到前台执行例子:作业控制的基本命令。#vijobtest&[1]1110094#jobs-l[1]+1110094Stoppedvijobtest#fg1 将作业1调出调到前台,按ctrl+z可将其切换到后台vijobtest~~……#bg1 利用bg命令将作业1调到后台(功能与ctrl+z一样)[1]+vidd&进程与信号量在UNIX系统中,用户可通过向进程发送相应的信号量来控制进程。AIX中一些常用的信号量如下,信号量旁的括号内标示的是该信号量的编号:SIGINT(2):程序终止(interrupt)信号,用于通知前台进程组终止进程,用户键入ctrl+c后前台进程终止。SIGQUIT(3):与SIGINT相似,进程终止后会生成文件core,用户键入ctrl+\后进程终止。SIGKILL(9):该信号不能被忽略,因此常用于强行终止某进程。SIGTSTP(18):终止进程,但该信号可以被处理和忽略.用户键入ctrl+z发出这个信号,进程转入后台并挂起。命令:kill功能:向特定某个进程发送信号。格式:kill-信号编号进程PID例子:利用kill命令向进程发送信号。 #vitest&[1]761968#kill-9761968[1]+Stoppedvitest#ps-aPIDTTYTIMECMD761976pts/110:00ps1032196pts/150:00ksh 1359972pts/00:00ksh[1]+Killedvitest例子:利用kill命令列出所有的信号量及其编号#kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGEMT8)SIGFPE9)SIGKILL10)SIGBUS11)SIGSEGV12)SIGSYS13)SIGPIPE14)SIGALRM15)SIGTERM16)SIGURG17)SIGSTOP18)SIGTSTP19)SIGCONT20)SIGCHLD21)SIGTTIN22)SIGTTOU23)SIGIO24)SIGXCPU25)SIGXFSZ27)SIGMSG28)SIGWINCH29)SIGPWR30)SIGUSR131)SIGUSR232)SIGPROF33)SIGDANGER34)SIGVTALRM35)SIGMIGRATE36)SIGPRE37)SIGVIRT38)SIGALRM139)SIGWAITING60)SIGKAP61)SIGRETRACT62)SIGSOUND63)SIGSAK进程与优先级进程的优先级是指系统在进程调度时用于判决进程是否能够获取CPU的依据。进程的优先级越高,则越能在竞争中胜出而获得CPU时间。在Linux系统中,进程的优先级以一个整数表达,数值越低,优先级越高。每个普通进程的优先级默认为60。根据动态优先级原理,操作系统会在调度进程的过程中对进程优先级进行调整。同时,管理员可以根据实际需要自行对某些进程的优先级加以调整。这里涉及到另外一个概念,进程的“nice”值。nice值可翻译为“谦让度”,因为nice是一个从-20~19的值,nice默认等于0(也即不起作用),进程的nice值为负数时,其优先级升高(也即代表优先级的数值下降),而进程的nice值为正数时,则进程的优先级下降(也即优先级的数值升高了)。在Linux中,普通用户一般只能调高优先级数值,也即让自己的进程“谦让”一点。如果要让某个服务进程能够及时响应请求,可将其nice值提高。命令:nice功能:设定要启动的程序的优先级格式:nice-增量启动的命令及其选项和参数,nice=原nice值+增量,nice默认为0。命令:renice功能:调整进程的优先级格式:renice-n增量进程PID号例子:nice命令与renice命令的使用,注意进程的优先级(PRI)和nice值(NI)的变化。 #nice-2vi ~~~~ 按ctrl+z将vi程序切换到后台 #ps-alFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD200811T8528774958875785806422303f1400876pts/150:00vi #renice-n5749588 #ps-alFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD200811T8528774958875785807427303f1400876pts/150:00vi2.3守护进程Linux在启动时需要启动很多系统服务,提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程独立于控制终端,周期性地执行某种任务或等待处理某些发生的事件。守护进程的生存期较长,常常在系统引导装入时启动,在系统关闭时终止。一些重要的守护进程:init:系统的1号进程,主要工作是为系统提供初始化服务。kudzu:硬件自动检测程序,会自动检测硬件是否发生变动,并相应进行硬件的添加、删除工作。crond:周期性地运行用户调度的任务。syslog:日志记录的守候进程。sshd:OpenSSH服务器守护进程。smb:Samba文件共享/打印服务守护进程。network:激活/关闭启动时的各个网络接口的守护进程。httpd:Web服务器Apache守护进程。vsftpd:vsftpd服务器的守护进程。named:DNS(BIND)服务器守护进程。dhcpd:动态主机控制协议(DynamicHostControlProtocol)的服务守护进程。作业:请完成如下作业,并给出详细的步骤和截图。启动vi编辑器,并将其调入后台,再调出前台,最后退出vi。启动vi编辑器,并将其调入后台,再将该作业杀死。启动两个vi编辑器,均调入后台后,查看当前有那些作业正在执行。使用ctrl+z将作业放到后台:列出你在当前系统中的所有进程。指出你在该系统中最早启动的进程是那个,在什么时候启动?最早在:15:58分启动。列出当前系统中占用CPU时间比例最高的进程。Root中id为3578占用时间最长。系统内核的进程中那个进程的运行时间最长,为什么?#ps-kPIDTTYTIMECMD0-0:29swapper8196-2395:12wait12294-0:00sched获得ls命令的帮助手册后,将其转入后台,在转出到前台,并退出手册。先后新建文件a和文件b,并相应启动vi对它们进行编辑。一开始要求文件a在前台执行,b在后台执行。对文件a输入一些文字后,将其切换到后台,然后将文件b调到前台,同样输入一些文字。最后将打开a文件的vi进程杀死,b文件保存并退出vi。列出当前系统中的所有进程(包括普通进程和守护进程),并指出哪些进程的优先级较高,这些进程有什么特点?守护进程中那些进程优先级比较高,那些进程的优先级比较低,你能发现优先级比较低是些什么样的进程?优先级比较高的又是什么样的进程?请找一两个典型的进程加以说明(Google一下这些进程)。利用nice程序启动三个vi程序,其nice分别为5,10,15,观察这三个vi程序的优先级,nice值与进程的优先级呈怎样的数值关系?或者说,nice值每增加1,优先级的数值是否也增加1,还是增加得更多?(可利用renice命令不断调整进程的nice值以获得实际规律)。nice值与进程的优先级呈关系:反比选取三个2.3节中所列的守护进程,列出他们的PID以及nice值。init:系统的1号进程,主要工作是为系统提供初始化服务。PID为:1nice值为:0sshd:OpenSSH服务器守护进程。PID为:3194nice值为:0syslog:日志记录的守候进程。PID为:278

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论