Linux进程管理基础内容介绍案例一及其相关内容案例二及其相关内容课程总结与操作实训课后习题进程管理第六章Linux进程管理本章教学目标:掌握进程管理的命令、cron的使用熟悉进程的启动方式了解进程定义、分类Linux进程管理难点:Linux进程管理重点:掌握如何使用进程管理命令及任务自动化操作。关键词:进程cronLinux进程管理7-1进程的基本概念1、进程的定义•是指一个具有独立功能的程序在一个数据集合上的一次运行活动。•即每个程序模块和它执行时所处理的数据组成了进程。Linux进程管理2、进程和程序的区别•进程是动态的,而程序是静态的•进程是有生命的,而程序是永久的•一个程序可以包含若干个进程•一个进程可以包含若干个程序(例:调用别的程序)Linux进程管理3、进程的基本状态及其转换(1)进程的基本状态•运行态(running):在CPU上运行•就绪态(ready):获得了CPU外的一切资源,可以随时被CPU调用•阻塞态(blocked):也叫等待态,正在等待某一事件的发生Linux进程管理(2)进程间的转换Linux进程管理4、进程的类型•交互进程:由shell启动,可以工作在前/后台•批处理进程:不需要与终端相关,提交在等待队列的作业•守护进程:shell/linux系统自动启动,工作在后台,用于监视特定服务Linux进程管理5、进程启动方法进程的启动是由于执行一个程序而启动的,在RedHatEnterpriseLinuxAS5.0系统中启动进程的方式有两种:(1)手工启动•前台:直接输入程序名(如:#vi)•后台:程序名后加&(如:#vi&)(2)调度启动•系统在指定时间运行指定的程序Linux进程管理Linux进程管理给出案例1.利用VI手工启动两个进程在后台运行;2.用VI编辑一个文件,并转入到后台运行;3.把在后台运行中最前面的VI进程调入到前台运行;4.杀死中间的一个VI进程;5.一次性全部杀死所有的VI进程;案例一Linux进程管理7-2进程管理的常用命令1、ps•功能:静态显示系统进程信息•格式:ps[参数]•参数:-a//显示所有进程(不包括没有终端的进程)-u//显示用户名和启动时间-x//显示没有终端的进程-e//显示所有进程(不显示进程状态)与案例有关的内容分析Linux进程管理•实例:#ps//显示当前用户进程#ps–aux//显示所有进程信息Linux进程管理#ps–auxUSERPID%cpu%memvszrssttystatstarttimecommandroot10.00.31096476?s18:200:04init…………………..说明:以上输出的信息包括USER进程的启动用户PID进程号(进程的唯一标识)%CPU占CPU的百分比%MEM占用内存百分比VSZ占用的虚拟内存大小RSS占用的物理内存大小TTY进程的工作终端(?表示没有终端)STAT进程的状态:R:正在执行中S:静止状态T:暂停执行Time占用的cpu的时间Command运行的程序Linux进程管理2、top•功能:动态显示系统进程信息•格式:top•实例:#top(默认每5秒钟刷新一次)top的操作命令:•help//获取top的帮助•kPID//终止指定的进程•q//退出topLinux进程管理3、kill•功能:终止进程•格式:kill-9PID•实例:#kill-93#kill-9358//一次杀死3,5,8多个进程Linux进程管理4、killall•功能:终止指定程序名的所有进程•格式:killall-9程序名•实例:#killall-9vsftpd//杀死所有对应vsftpd程序的进程Linux进程管理5、作业的前后台操作(1)jobs•功能:查看后台作业•格式:jobs•实例:#jobsLinux进程管理(2)fg•功能:把后台的作业调入前台运行•格式:#fg[作业编号]•实例:#fg//队首的作业调入前台运行#fg2//将队列中的2号作业调入前台运行Linux进程管理(3)bg功能:恢复后台挂起的进程在后台运行格式:bg[作业编号]•ctrl+z将前台程序转入后台停止运行•ctrl+c将终止前台程序的运行实例:•#bg//将队首的作业调入后台运行•#bg3//将3号作业调入后台运行Linux进程管理6、pstree功能:显示系统中已经运行的服务进程/显示守护进程树#pstree#pstree|grepdhcpdLinux进程管理分组操作…………………………点评、操作演示:………………………………………..Linux进程管理Linux进程管理案例二1.把当前时间改为2008年8月8日16点30分30秒;2.利用at设置一个任务自动化,在当天17:00钟,在根目录下自动创建一个abc目录,并进入到abc目录中,建立一个空的文件test,同时对该文件进行打包成test.tar;3.让该系统在每周的1、3、5下午17:30自动关闭该系统;4.在该系统在每月的16号自动启动smb服务;Linux进程管理7-3任务的自动化1、at(后台运行一次)•功能:安排系统在指定时间运行程序•格式:at[参数]时间•参数:-m//任务结束后会发送mail通知用户-f文件名//从指定文件中读取执行的命令-q[a-z]//指定使用的队列与案例有关的内容分析Linux进程管理•时间的表示方法:绝对表示方法:midnight//当天午夜moon//当天中午teatime//当天下午4点hh:mmmm/dd/yyLinux进程管理相对表示方法:now+nminutes//从现在起向后n分钟now+ndays//从现在起向后n天now+nhours//从现在起向后n小时now+nweeks//从现在起向后n周Linux进程管理•实例:#at21:003/11/2005cd/back/tar-cvftmp.tar/tmpinit0ctrl+d//结束作业Linux进程管理与at相关的还有atq显示队列中的作业信息命令和atrm删除队列作业的命令,如下例所示。//显示at等待队列的作业信息#atq12007-01-2523:00aroot22007-01-2500:00aroot//删除at等待队列中序号为1的作业[root@RHEL4/]#atrm1Linux进程管理2、cron•功能:安排作业让系统在指定时间周期运行•原理:cron进程,每隔一分钟,检查/var/spool/cron目录下用户提交的作业文件中有无任务需要运行•配置:Linux进程管理(1)建立crontab文件•#vi/root/root.cron•格式:分时日月星期要运行的程序•实例:01211*/sbin/shutdown–rnow•说明:数字表示具体时间;*表示任何时间;0-23/2表示每隔2小时,即:0:25,2:25,4:25;1,3,5:表示多种用“,”隔开。Linux进程管理(2)运行crontab命令•功能:生成用户的cron文件•格式:crontab[参数]文件名•参数:-u用户名//指定具体用户的cron文件-r//删除用户的crontab文件-l//显示用户的cron文件-e//编辑用户的crontab文件Linux进程管理•实例:#crontab/root/root.cron//建立当前标准格式用户crontab文件#crontab–r//删除当前用户的cron文件Linux进程管理配置案例:•要求:root用户在每周2,4,6早上3点启重系统•配置过程:#vi/root.cron(以root用户登录)03**2,4,6/sbin/shutdown-rnow#crontab/root.cronLinux进程管理crontab命令提交的调度任务存放在/var/spool/cron目录中,并且以提交的用户名称命名,等待crond进程来调度执行。Linux进程管理注意:(1)/etc/at.deny和/etc/at.allow文件用于控制用户运行at的任务可以通过/etc/at.deny和/etc/at.allow文件控制执行at命令的用户,at.deny存放禁止执行at命令用户名;at.allow存放允许at命令的用户名。//禁止user1用户执行at命令安排调度任务#vi/etc/at.deny//向文件中添加如下内容user1Linux进程管理系统管理的其它命令1.last功能:显示先前用户登录信息格式:#last[参数]参数:-n//列出前n行username//显示指定用户的登录信息实例:#lastroot//显示超级用户登录信息Linux进程管理2.date功能:显示或设定系统日期、时间格式:#date[MMDDhhmm[CC]YY[.ss]]实例:#date//显示日期和时间#date082409452005.30//设定日期和时间Linux进程管理3.time功能:测定执行特定的命令所用的时间等信息格式:#timeCOMMAND实例:#timelsLinux进程管理4.whoami功能:显示当前登录的用户名实例:#whoamiLinux进程管理5.id功能:显示当前用户的详细ID格式:#id〔参数〕参数:-a显示所有ID信息-u显示UID-g显示用户所属组的GID-G显示用户附加组GID实例:#id#id-uLinux进程管理6.cal功能:显示日历格式:#cal[参数][CCYY]参数:-y//指定哪一年的日历实例:#cal//默认显示本年本月#cal-y2000Linux进程管理分组操作…………………………点评、操作演示:………………………………………..Linux进程管理Linux进程管理归纳与总结通过本节课的学习我们要掌握以下内容:进程管理的命令、cron的使用进程的启动方式进程定义、分类Linux进程管理Linux进程管理1、ps命令显示结果中STAT的s代表A、运行B、休眠C、终止D、挂起B2、终止一个前台进程,可用A、ctrl+cB、ctrl+zC、alt+cD、alt+zA3、希望把某个在后台挂历起的作业转到后台继续运行,可使用A、niceB、fgC、bgD、reniceC4、at8:00pm是指A、当天早8点B、每天早8点C、每天晚上8点D、当天晚8点D5、在cron中若指定0007**2,4,6则2,4,6代表A、每月的2,4,6B、每天的2,4,6C、每小时的2,4,6D、每周的2,4,6D课后习题Linux进程管理6、在目录/etc/rc.d/rc3.d下,有很多以K和S开头的链接文件,这里的以S开头的文件表示什么意思。A.stopB.startC.sysD.sysadminB7、linux中自动安排任务可使用A、atB、batchC、cronD、timeABC8、在shell中,当用户准备结束登录对话进程时,可用哪些命令A、logoutB、exitC、ctrl+dD、shutdownABC9、一般关机的命令有A、init0B、shutdownnowC、haltD、poweroffABCD