Linux操作系统案例教程电子教案-第7章-进程管理-技工学校使用_第1页
Linux操作系统案例教程电子教案-第7章-进程管理-技工学校使用_第2页
Linux操作系统案例教程电子教案-第7章-进程管理-技工学校使用_第3页
Linux操作系统案例教程电子教案-第7章-进程管理-技工学校使用_第4页
Linux操作系统案例教程电子教案-第7章-进程管理-技工学校使用_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第七章进程管理7-1

进程的基本概念1、进程的定义是指一个具有独立功能的程序的一次运行过程,也是系统进行资源分配和调度的基本单位。即每个程序模块和它执行时所处理的数据组成了进程。父子进程的关系1.一个进程产生了另一个进程。2父进程终止,子进程正常自然终止。子进程未终止则会变成孤儿程指向INITTAB为父进程3.子进终止,父进程不知,子进程为僵尸进程4.fork可创建子进程,会复制父亲进程的数据和环境。5.进程PID父进程PPID2、进程和程序的区别进程是动态的,而程序是静态的进程是有生命的,而程序是永久的一个程序可以包含若干个进程,没有一一对应的关系一个进程可以包含若干个程序(例:pwd;date;find/-nameinittab)前台进程和后台进程前台进程指在命令行中输入命令后,在未执行完毕前,不能执行其他进程如查找Find/-nameininttab后台进程:在命令输入时加入一个&,可以在后台运行。Find/-nameinit>/test/init.find&.3、进程的基本状态及其转换(1)进程的基本状态运行态(running):在CPU上运行就绪态(ready):获得了CPU外的一切资源,可以随时被CPU调用等待态(blocked):也叫等待态,正在等待某一事件的发生4、进程的类型交互进程:由shell启动,可以工作在前/后台批处理进程:不需要与终端相关,提交在等待队列的作业守护进程:shell/linux系统自动启动,工作在后台,用于监视特定服务5、进程启动方法进程的启动是由于执行一个程序而启动的,在RedHatLinux9.0系统中启动进程的方式有两种:(1)手工启动前台:直接输入程序名(如:#vi)后台:程序名后加&(如:#vi&)(2)调度启动系统在指定时间运行指定的程序,可用at,batch和cron调度。利用VI手工启动两个进程在后台运行;用VI编辑一个文件,并转入到后台运行;把在后台运行中最前面的VI进程调入到前台运行;杀死中间的一个VI进程;一次性全部杀死所有的VI进程;案例一7-2

进程管理的常用命令

USERTTYFROMLOGIN@IDLEJCPUPCPUWHATroot:0-Sat17?xdm?9:351.06s/usr/bin/gnome-rootpts/1:0.0Sat1743.00s0.51s0.51sbashrootpts/20108:530.00s0.11s0.03sw7-2

进程管理的常用命令1、ps功能:静态显示系统进程信息格式:ps[参数]参数:-a//显示所有进程(不包括没有终端的进程)-u //显示用户名和启动时间-x //显示没有终端的进程-e//显示所有进程(不显示进程状态)-l//显示详细信息-W//宽屏显示查看PS进程PID进程号PPID父进程号TTY进程启动的终端STAT进程当前的状态S休眠D不可中断的休眠R运行状态Z僵死状态T停止状态NI优先级TIME进程自从启动以来启用CPU的总时间COMMAND/CMD进程的命令名USER用户名%CPU占用CPU时间和总时间的百分比%MEM占用内存与系统内存总理的百分比%MEM占用内存百分比VSZ占用的虚拟内存大小RSS占用的物理内存大小实例:#ps

//显示当前用户进程

PIDTTYTIMECMD16229pts/200:00:00bash16260pts/200:00:00ps#ps-lroot@localhost~]#ps–u//查看隶属于自己进程的详细信息Warning:badsyntax,perhapsabogus'-'?See/usr/share/doc/procps-3.2.7/FAQUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot23620.00.11664424tty1Ss+Dec010:00/sbin/mingettyroot23630.00.11664424tty2Ss+Dec010:00/sbin/mingettyroot31350.00.546761496pts/1Ss+Dec010:00bashroot162290.00.546721428pts/2Ss08:530:00-bashroot162633.00.34264948pts/2R+08:570:00ps-u[root@localhost~]#ps-lFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD4S016229162270750-1168waitpts/200:00:00bash4R016264162290770-1055-pts/200:00:00ps##ps–aux|more //显示所有进程信息(一般不使用)USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.22072632?SsDec010:03init[5]

root20.00.000?S<Dec010:00[migration/0]root30.00.000?SNDec010:00[ksoftirqd/0]root40.00.000?S<Dec010:00[watchdog/0]root50.00.000?S<Dec010:05[events/0]root60.00.000?S<Dec010:00[khelper]##ps-le|grephttpd1S01630910780-2486-?00:00:00httpd5S4816311163090790-2486347076?00:00:00httpd5S4816312163090790-2486339878?00:00:00httpd5S4816313163090790-2486339032?00:00:00httpd5S4816314163090840-2486339032?00:00:00httpd5S4816315163090850-2486339032?00:00:00httpd5S4816316163090850-2486326541?00:00:00httpd5S4816317163090850-2486326541?00:00:00httpd5S4816318163090850-2486326541?00:00:00httpd

Ps–sortPID(time)–l|grephttpd查询时进行排序查看指定用户的进程信息Ps–uU用户名=ps–aux|grephaha查看指定进定Ps–le|grep进程名称Ps–le|grepinit查看所有系统信息树状信息Pstree|moreKill杀死进程关闭进程kill进程号强行关闭kill–9进程号重启进程kill-1进程号关闭图形化进程xkill有个描准镜关闭某个程序结束所有进程killall服务名称(httpd)

查找服务进程号pgrep服务名称(httpd)关闭进程pkill进程名程(httpd)查看进程目录名ls/proccat/proc/cpuinfo/meminfo查看CPU、内存信息Nice指定程序的运行优先级格式:nice–n命令Eg:nice--5httpd可能用servicehttpdserviceps–le|grephttpdRenice改变一个正在运行的进程的优秀级格式:renicenpid例如renice-5777优先级的取值(-20,19)默认为0值越小,越优先Nohup使进程在用户退出登录后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认默认储存到文件nohup.out中格式:nohup命令&例如nohupfind/-nameinit*>/etc/haha.find&进程的挂起和恢复进程的中止和终止挂起ctrl+z终止ctrl+c进程的恢复后到前台fgfg2前台到后台bgbg1查看被挂起的jobs

3、kill功能:终止正在运行的进程或作业格式:kill

[选项]PID选项:-9//当无选项的命令不能终止进程时,可强行终止指定进程实例:

#kill2683#kill-93#kill-9358//一次杀死3,5,8多个进程4、killall功能:终止指定程序名的所有进程格式:killall-9程序名实例:#killall-9vsftpd //杀死所有对应vsftpd程序的进程5、作业的前后台操作(1)jobs[选项]功能:显示当前所有作业选项:-p:仅显示进程号-l:同时显示进程号和作业号格式:jobs实例:#jobs#jobs–l#jobs-p(2)fg功能:把后台的作业调入前台运行格式:#fg[作业编号]实例:#fg //队首的作业调入前台运行#fg2 //将队列中的2号作业调入前台运行(3)bg功能:将前台作业或进程切换到后台运行格式:bg[作业编号]ctrl+z 将前台程序转入后台停止运行ctrl+c 将终止前台程序的运行实例:#bg //将队首的作业调入后台运行#bg3 //将3号作业调入后台运行2、top功能:动态显示系统进程信息格式:top实例:#top(默认每5秒钟刷新一次)top的操作命令:help //获取top的帮助kPID //终止指定的进程q //退出topu//查看指定用户的进程c//显示整个命令而不仅令显示命令名

r//设置进程优先级案例二把当前时间改为2009年3月16日10点30分30秒;Date–-set“03/16/0910:30:30”利用at设置一个任务自动化,在当天11:00钟,在根目录下自动创建一个abc目录,并进入到abc目录中,建立一个空的文件test,同时对该文件进行打包成test.tar;让该系统在每周的1、3、5下午17:30自动关闭该系统;在该系统在每月的16号自动启动smb服务;7-3

进程调度计划任务At安排作业在某一个时刻执行一切Batch安排作业在系统负载不重时执行一切Corn安排周期性运行的作业7-3

进程调度1、at(后台运行一次)功能:安排系统在指定时间运行程序格式:at[参数]时间参数:-d//删除指定的调度作业-m//任务结束后会发送mail通知用户-f文件名//从指定文件中读取执行的命令-q[a-z] //指定使用的队列At-l

oratq//显示等待执行的调度作业时间的表示方法:绝对表示方法:midnight //当天午夜noon //当天中午teatime //当天下午4点hh:mmtodayhh:mm星期

hh:mmtomorrowhh:mmmm/dd/yy

相对表示方法:

now+nminutes//从现在起向后n分钟now+ndays

//从现在起向后n天now+nhours

//从现在起向后n小时now+nweeks

//从现在起向后n周At命令指定时间的格式指定在今天下午18:30分做某项任务(今天是12月6日,14:30分)命令格式如下:At6:30pmAt18:30At18:30todayAtnow+4hoursAtnow+240minutesAt18:3006.12.12At18:3012/6/12例:atnow+5minutes(回车)At>/usr/bin/wall</etc/motd(ctrl+d结束)//命令的路径写绝对路径检查命令指行的情况:FingerrootPs–le|grepatd查看进程/etc/rc.d/init.d/atdstart启动进程At–l查看计划任务=atqAt-d删除计划任务=atrm+序列号

/var/spool/at存放计划任务的临时文件例2:5分钟后在/tmp下创一个文件夹gogo,再创一个文件haha.txt,然后使用find命令查找名为init*文件,将查询结输出到haha.txt中,追加当前日期到haha.txt的结尾

at(batch)now+5minutesAt>mkdir/tmp/gogoAt>touch/tmp/gogo/haha.txtAt>find/-nameinit*>/tmp/gogo/haha.txtAt>date>>/tmp/gogo/haha.txtCtrl+dat+l查看

ps+le|grepatdAt的配置文件如果/etc/at.allow文件存在,则只有列在此文件中的用户才可以使用AT命令,如果/etc/at.allow不存在,则检查/etc/at.deny文件是否存在。如存在,则在此命令中列出的用户不能使用则命令。如果两文件都不存在,或都为空。则只有ROOT可以使用如果需要执行的命令很多,可以用vi写一个脚本生成.script如at.scripts使用at命令At–fat.script9:002/2/12或At<at.script9:0012/6/12举例说明要找出系统所有以txt为后缀名的文件并且进行打印。打印结束后给用户liyang发出邮件通知取件。指定时间为三月二十五日18点。首先键入$at18:003/25/09然后系统出现at>提示符,等待用户输入进一步的信息,也就是需要执行的命令序列:at>find/-name“*.txt”|lprat>echo“liyang:Alltextshavebeenprinted.Youcancomehereandtakethem.Havaaniceday!”|mail–s“jobdone”liyangat<EOF>Warning:commandwillbeexecutedusing/bin/shJob1at2009-03-2518:00实例:#at

21:00

3/21/2009 >cd/back/ >tar-cvftmp.tar/tmp >init0 ctrl+d //结束作业与at相关的还有atq显示队列中的作业信息命令和atrm删除队列作业的命令,如下例所示。//显示at等待队列的作业信息#atq12007-01-2523:00aroot22007-01-2500:00aroot//删除at等待队列中序号为1的作业[root@localhost/]#atrm1batch和at命令功能几乎相同。

安排一个或多个命令在系统负载较轻时运行一次。(平均负载在0。8以下)3、crontab(重点)功能:安排作业让系统在指定时间周期运行原理:cron进程,每隔一分钟,检查/var/spool/cron目录下用户提交的作业文件中有无任务需要运行格式crontab–l显示当前的crontabcrontab–r删除当前的crontabcrontab–e使用编辑器编辑当前的crontab文件crontab文件中时间和命令的输入该文件中每行包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔说明:把知道的添上,不知道的就写*号可以使用通配符“*”:表示任何时间每个域的时间值可以是多个,时间值之间用逗号隔开minutehourday-of-monthmonth-of-yearday-of-weekcommands分钟小时天月星期命令分钟小时天月星期命令04****018**2,5018*1-32,53017**1-5/usr/bin/wall</etc/issue4517**1-5/sbin/shutdown–hnow*/512-14*3-6,9-121-5/bin/cp/etc/backup/benfen.2012.12.16>/etc/backup/etc.bak.err>/dev/null1。每天4点做备份2。周二,周五下午6:00做备份3。1-3下月,周二,周五下午6:00做备份4。假设周一到周五5:30分通知学生17:50分关机5.学校上课期间每5分,中午12-14点做备份/etc/backup/etc.bak.err错误输出>/dev/null正确输出但不显示如:建立crontab文件

#vi/root/root.cron格式:分时日月星期要运行的程序实例:01211*/sbin/shutdown –rnow说明:数字表示具体时间;*表示任何时间; 0-23/2表示每隔2小时,即:0:25,2:25,4:25;

1,3,5:表示多种用“,”隔开。书写注意事项这些项都不能为空,必须填入如果用户不需要指定期其中的几项,那么可以使用*表示任何时间每个时间字段都可以指定多个值,它们之间用逗号间隔命令要用绝对路径用户必须具有运行所对应的命令或程序的权限。Crontab应用示例应用范例:Crontab–e//编辑文件5017***/usr/bin/wall</etc/motd//分钟小时天月星期命令

001,15*1/bin/cp–R/etc/backup/etc.bak00**1/sbin/shutdown–rnow编辑完成后保存文档:wq!查看编辑的文档ls/var/spool/cron/用户名Cat/var/spool/cron/root查看其中的内容临时文件Crontab–l查看计划任务Crontab–r全部删除最后使用crontab–e删除其中一条Ps–le|grepcrond查看进程中是否启动进程启动进程/etc/rc.d/init.d/crondstart配置文件vi/etc/crontab定议执行的环境变量(2)运行crontab命令功能:维护用户的crontab配置文件格式:crontab[参数]文件名参数:-u用户名 //指定具体用户的cron文件-r//删除用户的crontab文件-l//显示用户的cron文件-e //编辑用户的crontab文件01****rootrun-parts/etc/cron.hourly024***rootrun-parts/etc/cron.daily224**0rootrun-parts/etc/cron.weekly4241**rootrun-parts/etc/cron.monthlyLs/etc/cron.weekly实例:#crontab

/root/root.cron

//建立当前标准格式用户crontab文件#crontab–r

//删除当前用户的cron文件配置案例:要求:root用户在每周2,4,6早上3点启动系统配置过程:#vi/root.cron (以root用户登录)

03**2,4,6/sbin/shutdown-rnow#crontab/root.cron

crontab命令提交的调度任务存放在/var/spool/cron目录中,并且以提交的用户名称命名,等待crond进程来调度执行。注意:(1)/etc/at.deny和/etc/at.allow文件 用于控制用户运行at的任务可以通过/etc/at.deny和/

温馨提示

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

评论

0/150

提交评论