Linux中的进程管理.ppt

上传人:公**** 文档编号:568496586 上传时间:2024-07-24 格式:PPT 页数:61 大小:483.01KB
返回 下载 相关 举报
Linux中的进程管理.ppt_第1页
第1页 / 共61页
Linux中的进程管理.ppt_第2页
第2页 / 共61页
Linux中的进程管理.ppt_第3页
第3页 / 共61页
Linux中的进程管理.ppt_第4页
第4页 / 共61页
Linux中的进程管理.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《Linux中的进程管理.ppt》由会员分享,可在线阅读,更多相关《Linux中的进程管理.ppt(61页珍藏版)》请在金锄头文库上搜索。

1、第第7章章Linux中的进程管理中的进程管理17.1 Linux7.1 Linux的进程概述的进程概述Linux操作系统进程的分类:操作系统进程的分类:交交互互进进程程:由由一一个个shell启启动动的的进进程程,交交互互进进程程既既可可以在前台运行,也可以在后台运行;以在前台运行,也可以在后台运行;批批处处理理进进程程:这这种种进进程程和和终终端端没没有有联联系系,是是一一个个进进程序列,它被提交到一个队列中以便顺序执行程序列,它被提交到一个队列中以便顺序执行。守护进程(也称监控进程或服务):守护进程(也称监控进程或服务):Linux系统启动系统启动时启动的进程,并在后台运行。时启动的进程,

2、并在后台运行。 Linux操操作作系系统统包包括括的的三三种种进进程程都都有有自自己己的的特特点点和和属属性。性。27.2 Linux7.2 Linux进程原理进程原理7.2.1 Linux7.2.1 Linux进程的状态进程的状态运行态:运行态:正在运行或准备运行(就绪态);正在运行或准备运行(就绪态);等待态:等待态:停止态(终止态停止态(终止态););僵僵死死态态:由由于于某某种种原原因因被被终终止止的的进进程程,但但该该进进程程的控制结构的控制结构task_structtask_struct仍然保留着。仍然保留着。37.2 Linux7.2 Linux进程原理进程原理7.2.2 Lin

3、ux7.2.2 Linux进程的工作模式进程的工作模式在在LinuxLinux系系统统中中,进进程程的的工工作作模模式式(执执行行模模式式)划划分为用户模式和内核模式。分为用户模式和内核模式。用用户户模模式式:用用户户程程序序、应应用用程程序序及及内内核核之之外外的的系系统程序对应的进程在此模式下运行。统程序对应的进程在此模式下运行。内内核核模模式式:系系统统调调用用和和中中断断事事件件要要运运行行操操作作系系统统(即内核)程序,进程则在内核模式下运行。(即内核)程序,进程则在内核模式下运行。47.2 Linux7.2 Linux进程原理进程原理7.2.2 Linux7.2.2 Linux进程

4、的工作模式进程的工作模式按按照照进进程程的的功功能能和和运运行行的的程程序序分分类类,进进程程可可划划分分为为系统进程和用户进程。系统进程和用户进程。系系统统进进程程:只只运运行行在在内内核核模模式式,执执行行操操作作系系统统代代码,完成一些管理性的工作。码,完成一些管理性的工作。用用户户进进程程:通通常常在在用用户户模模式式中中执执行行。也也可可以以在在内内核模式下运行(通过系统调用或中断、异常)。核模式下运行(通过系统调用或中断、异常)。57.3 Linux7.3 Linux守护进程守护进程7.3.1 7.3.1 守护进程简介守护进程简介守护进程也称为精灵进程。守护进程也称为精灵进程。Li

5、nux服务器在启动时需服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。)来执行的。守护进程是生存期长的一种守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时

6、终止。装入时启动,在系统关闭时终止。linux系统有很多守系统有很多守护进程,大多数服务器都是用守护进程实现的。同时,护进程,大多数服务器都是用守护进程实现的。同时,守护进程完成许多系统任务,有些书籍和资料也把守守护进程完成许多系统任务,有些书籍和资料也把守护进程称作:护进程称作:“服务服务”。选择运行哪些守护进程,要。选择运行哪些守护进程,要根据具体需求决定。根据具体需求决定。67.3 Linux7.3 Linux守护进程守护进程查看系统可以提供的守护进程对应的服务,使用下面查看系统可以提供的守护进程对应的服务,使用下面方法,以方法,以root权限运行:权限运行:#ntsysv 7守护进程有

7、如下几种启动方法:守护进程有如下几种启动方法:在在引引导导系系统统时时启启动动:由由initinit程程序序根根据据配配置置文文件件/etc/etc/inittabinittab文文件件启启动动相相应应的的守守护护进进程程。这这些些守守护护进程通常存放在进程通常存放在/etc/etc/rc.d/init.drc.d/init.d目录下;目录下;人工手动从人工手动从shellshell提示符启动:提示符启动:例如,例如,#service #service crondcrond start(restartstart(restart) ) 使使用用crondcrond守守护护进进程程启启动动:该该守

8、守护护进进程程根根据据/ /var/spllo/cron/crontabvar/spllo/cron/crontab文件执行相应的任务;文件执行相应的任务;执行执行atat命令启动:命令启动:在规定的时间执行一个程序。在规定的时间执行一个程序。87.3 Linux7.3 Linux守护进程守护进程7.3.2 7.3.2 重要守护进程介绍重要守护进程介绍(P120(P120页表页表7-1 Linux7-1 Linux重要守护进程列表重要守护进程列表) )例如,例如,httpdhttpd:WebWeb服务器;服务器;xinetdxinetd:网网络络守守护护进进程程服服务务程程序序,管管理理启启动

9、动守守护护进进程的管理服务器;程的管理服务器;crondcrond:LinuxLinux下计划任务;下计划任务;lpdlpd:打印服务器;:打印服务器;namednamed:DNSDNS服务器;服务器;smbsmb:SambaSamba文件共享文件共享/ /打印器。打印器。97.4 7.4 启动启动LinuxLinux进程进程启动进程有两种方法:手工启动和调度启动。启动进程有两种方法:手工启动和调度启动。7.4.1 7.4.1 手手工工启启动动:由由用用户户输输入入命命令令,直直接接启启动动一一个个进程便是手工启动进程。进程便是手工启动进程。 1 1、前台启动、前台启动手手工工启启动动一一个个

10、进进程程的的最最常常用用的的方方式式。一一般般地地,用用户户键键入入一一个个命命令令“lsls l”l”,这这就就已已经经启启动动了了一一个个进进程程,而而且且是是一一个个前前台台的的进进程程。实实际际上上有有许许多多运运行行在在后后台台的的、系系统统启启动动时时就就已已经经自自动动启启动动的的进进程程正正在在悄悄悄悄运运行行着着。因此因此这时候系统其实已经处于一个多进程状态。这时候系统其实已经处于一个多进程状态。107.4 7.4 启动启动LinuxLinux进程进程2 2、后后台台启启动动:直直接接从从后后台台手手工工启启动动一一个个进进程程用用得得比比较较少少一一些些,除除非非是是该该进

11、进程程时时常常耗耗时时间间,且且用用户户也也不不急急着着要要看看到到处处理理结结果果的的时时候候。假假设设用用户户要要启启动动一一个个需需要要长长时时间间运运行行的的格格式式化化文文本本文文件件的的进进程程。为为了了不不使使整整个个shell在在格格式式化化过过程程中中都都处处于于“瘫瘫痪痪”状状态态(长长时时间间看看不不到到任任何何运运行行结结果果),因因此此这这个个时时候候选选择择从从后后台台启启动动这这个个进进程程是是明明智智的的选选择择。下下面面是是一一个个后后台台启启动动进进程程的的例子:例子:117.4 7.4 启动启动LinuxLinux进程进程#./calculate&1211

12、6无无论论前前台台启启动动还还是是后后台台启启动动,新新进进程程都都是是当当前前shell这这个个进进程程产产生生的的,因因此此shell是是父父进进程程,而而新进程是子进程。新进程是子进程。例如,例如,#nroffmanps.1|grepkill|more同时创建了三个子进程。同时创建了三个子进程。127.4 7.4 启动启动LinuxLinux进程进程调度启动调度启动: :事先进行设置,根据用户要求自行启动事先进行设置,根据用户要求自行启动有时候需要对系统进行一些比较费时而且占用资有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜进行,这时源的维护工作,这些工作适合

13、在深夜进行,这时候用户就可以事先进行调度安排,指定任务运行候用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统会自动完成这一切的时间或者场合,到时候系统会自动完成这一切工作。工作。要使用自动启动进程的功能,就需要掌握以要使用自动启动进程的功能,就需要掌握以下几个启动命令。下几个启动命令。at命令命令bath命令命令cron命令137.4.2 7.4.2 在指定时刻执行命令序列在指定时刻执行命令序列atat命令命令用户使用用户使用at命令在指定时刻执行指定的命令序命令在指定时刻执行指定的命令序列。列。at命令从标准输入或一个指定的文件读取命令从标准输入或一个指定的文件读取命令,这

14、些命令在以后某个时间用命令,这些命令在以后某个时间用/bin/sh执执行。行。at命令格式:命令格式:p122at-V-q队列队列-f文档名文档名-mldbv时间时间注:在任何情况下,注:在任何情况下,root用户都能够使用这个命令。对于其用户都能够使用这个命令。对于其他用户来说,是否能够使用就取决于两个文档:他用户来说,是否能够使用就取决于两个文档:/etc/at.allow和和/etc/at.deny。假如。假如/etc/at.allow文档存文档存在的话,那么只有在其中列出的用户才能够使用在的话,那么只有在其中列出的用户才能够使用linuxat命命令;假如该文档不存在,那么将检查令;假如

15、该文档不存在,那么将检查/etc/at.deny文档是否文档是否存在,在这个文档中列出的用户均不能使用该命令。假如两存在,在这个文档中列出的用户均不能使用该命令。假如两个文档都不存在,那么只有个文档都不存在,那么只有root用户能够使用该命令;空的用户能够使用该命令;空的/etc/at.deny文档意味着所有的用户都能够使用该命令,这文档意味着所有的用户都能够使用该命令,这也是默认状态。也是默认状态。14at命令中的常用参数说明。命令中的常用参数说明。-m:作业结束后发送邮件给执行:作业结束后发送邮件给执行linuxat命令的命令的用户。用户。-ffile:使用该选项将使命令从指定的:使用该选

16、项将使命令从指定的file读取,读取,而不是从标准输入读取。而不是从标准输入读取。-l:atq命令的一个别名。该命令用于查看安排命令的一个别名。该命令用于查看安排的作业序列,他将列出用户排在队列中的作业,的作业序列,他将列出用户排在队列中的作业,假如是假如是root用户,则列出队列中的任何工作。用户,则列出队列中的任何工作。-d:atrm命令的一个别名。该命令用于删除指命令的一个别名。该命令用于删除指定要执行的命令序列,定要执行的命令序列,-v:显示作业的执行时间:显示作业的执行时间-c:将命令行上所列的作业送到标准输出。:将命令行上所列的作业送到标准输出。15一、一、at命令设置计划任务命令

17、设置计划任务例如,指定在今天下午例如,指定在今天下午6:35执行某命令。假设执行某命令。假设现在时间是中午现在时间是中午12:35,2011年年6月月15日,其命日,其命令的时间格式如下:令的时间格式如下:#at6:35pm#at18:35#at18:35today#atnow+6hours#atnow+360minutes#at18:3515.6.11#at18:356/15/11#at18:35Jul1516练习:练习:1、要在三天以后的下午、要在三天以后的下午4点执行任务点执行任务#at4pm+3days2、要在明天上午、要在明天上午1点执行任务点执行任务#at1amtomorrow3、

18、任务在、任务在5分钟后运行分钟后运行#atnow+5minutes4、任务在、任务在1小时后运行小时后运行#atnow+1hour5、任务在、任务在3天后运行天后运行#atnow+3days6、任务在两周后运行、任务在两周后运行#atatnow+2weeks7、任务在、任务在2008年年12月月20日凌晨日凌晨1点开始点开始#at1:0012/20/0817在使用在使用at命令时,键入了命令时,键入了linuxat命令和它命令和它的时间参数后,的时间参数后,at提示就会出现。键入提示就会出现。键入要执行的命令,按要执行的命令,按Enter键,然后键入键,然后键入ctrl+d。例如,例如,5天后

19、的下午天后的下午5点钟执行点钟执行/bin/ls#at5pm+5daysat/bin/ls(如何知道该命令的位置?如何知道该命令的位置?)at(ctrl+d)job11at2009-07-2517:00执行结果以文件的形式发送至执行结果以文件的形式发送至/var/spool/mail/文件文件(与用户同名)中;如果希望将(与用户同名)中;如果希望将at的命令的执行结果的命令的执行结果送至其它文件中,可使用重向符送至其它文件中,可使用重向符“”或或“”。18例如,上面的例题的结果想保存至当前目例如,上面的例题的结果想保存至当前目录下的录下的text.out文件中。文件中。#at5pm+5days

20、at/bin/lstest.out(或或test.out)at(ctrl+d)job12at2009-07-2517:00例如,明天的例如,明天的17:20执行执行/bin/date#at17:20tomorrowat/bin/dateatjob13at2009-07-2617:2019例如,例如,2008-8-7晚上最后一分钟提醒奥运晚上最后一分钟提醒奥运开始开始#at23:5908/07/08atecho奥运会开始奥运会开始/root/hello.txtatjob14at2008-08-0723:59例如,找出系统中任何以例如,找出系统中任何以c为后缀名的文档,为后缀名的文档,指定时间为指

21、定时间为2008年年12月月25凌晨两点。凌晨两点。#at2:0012/25/08atfind/-name*.catjob15at2008-12-2502:0020也可以将命令序列写到一个文档中,然后将文档作也可以将命令序列写到一个文档中,然后将文档作为为linuxat命令的输入来处理。这样不容易出错。命令的输入来处理。这样不容易出错。例如,对上例修改,将命令序列写入到文档例如,对上例修改,将命令序列写入到文档/tmp/findjob。语句为:语句为:#at-f/tmp/findjob2:0012/25/08job16at2008-12-2502:00例如,用例如,用at命令实现今晚命令实现今

22、晚21:00定时关机定时关机#at21:00todayatshutdownh21:00t30atjob17at2009-01-2521:00该命令运行后,到了该命令运行后,到了21:00点,电脑会出现点,电脑会出现“系统系统关机关机”对话框,并默认对话框,并默认30秒延时自动关机。秒延时自动关机。21shutdown参数参数-t秒数秒数时间时间警告信息警告信息常用参数:常用参数:-c:取消前一个取消前一个shutdown命令命令-h:将系统关机将系统关机-r:重新启动系统重新启动系统-t:送出警告信息和关机信号之间要延迟多少送出警告信息和关机信号之间要延迟多少警告信息警告信息:提醒用户保存当前

23、进行等信息提醒用户保存当前进行等信息时间:时间:参数有参数有hh:mm或或+m两种模式。两种模式。hh:mm格式表示在几点几分执行格式表示在几点几分执行shutdown命令命令+m表示表示m分钟后执行分钟后执行shutdown比较特别的用法是以比较特别的用法是以now表示立即执行表示立即执行例如,指定现在立即关机:例如,指定现在立即关机:#shutdown-hnow例如,指定例如,指定5分钟后关机分钟后关机,同时送出警告信息同时送出警告信息#shutdown+5“Systemwillshutdownafter5minutes”22二、查看目前在等待执行的任务二、查看目前在等待执行的任务输入任务

24、后,能使用输入任务后,能使用atq命令能看到目前等待执行命令能看到目前等待执行的任务,输出提供了任务号、任务执行时间和用户的任务,输出提供了任务号、任务执行时间和用户等信息。等信息。#atq332009-01-1502:05aroot342009-01-2011:25aroot其中的其中的a表示是表示是at任务任务三、三、删除删除linuxat命令任务命令任务删除一个删除一个linuxat命令任务比较简单,使用命令任务比较简单,使用atrm命命令就。令就。命令格式:命令格式:at任务号任务号例如,删除任务号为例如,删除任务号为33的任务。的任务。#atrm3323练习:练习:1、二天后的上午、

25、二天后的上午8点执行点执行job中的作业中的作业#atfjob8am+2days2、7月月2号下午号下午5点执行执行点执行执行job中的作业中的作业#atfjob 5pmJul23、找出系统中所有以、找出系统中所有以.txt为后缀的文件,寻找结束后为后缀的文件,寻找结束后将结果保存在将结果保存在/etc/result文件中,然后向用户文件中,然后向用户liyang发出邮件通知,告知用户已经完成指定时间为发出邮件通知,告知用户已经完成指定时间为2008年年6月月12日下午日下午3点点#at3pm06/12/08atfind/-name*.txt/etc/resultatecho“liyang:A

26、llcodefilehavebeensearchedout.Youcantakethemover.Bey!”|mails“jobdone”liyangat244、将上述第、将上述第3题的命令序列写入到题的命令序列写入到/etc/job文文件中,由件中,由at命令执行命令执行#atf/etc/job3pm06/12/08257.4.3 7.4.3 在资源比较空闲的时候执行命令在资源比较空闲的时候执行命令bathbath命令命令BatchBatch命令用低俦级运行作业命令用低俦级运行作业, ,该命令几乎和该命令几乎和atat命令的功命令的功能完全相同能完全相同, ,唯一的区别在于唯一的区别在于:a

27、t:at命令是在指定的时间命令是在指定的时间, ,很精确的时刻执行指定命令很精确的时刻执行指定命令; ;而而batchbatch却是在系统负载较却是在系统负载较低低, ,资源比较空闲的时候执行命令资源比较空闲的时候执行命令, ,这主要是由系统来决这主要是由系统来决定执行的定执行的, ,因而用户的干预权力很小因而用户的干预权力很小, ,该命令适合于执行该命令适合于执行占用资源较多的命令。占用资源较多的命令。BatchBatch命令的语法和命令的语法和atat命令十分相似,这里不再赘述。命令十分相似,这里不再赘述。通常,不用为通常,不用为batchbatch命令指定时间参数。命令指定时间参数。例如

28、,使用例如,使用batchbatch命令执行在根目录下查询文件文件的命令执行在根目录下查询文件文件的功能功能#batch#batchatfind / -name *.txtatfind / -name *.txtatat35 2009-02-15 09:36 b root35 2009-02-15 09:36 b root267.4.4 7.4.4 不断重复执行某些命令不断重复执行某些命令croncron命令命令前面介绍的两条命令前面介绍的两条命令atat和和batchbatch都会在一定时间都会在一定时间内完成一定任务,但是注意它们都只能执行一次。内完成一定任务,但是注意它们都只能执行一次。

29、但是在很多时候要不断的重复一些命令,比如,某但是在很多时候要不断的重复一些命令,比如,某公司每周一自动向员工报告一周公司的活动情况,公司每周一自动向员工报告一周公司的活动情况,这时候就有使用这时候就有使用croncron命令来完成任务了。命令来完成任务了。首先首先croncron命令会搜索命令会搜索/ /var/spool/cronvar/spool/cron目录,寻目录,寻找和用户名同名的找和用户名同名的crontabcrontab文件是否存在,如果找到文件是否存在,如果找到该文件,则被载入内存,将被执行;如果没有找到该文件,则被载入内存,将被执行;如果没有找到这样的文件,则这样的文件,则c

30、roncron命令就转入命令就转入“休眠休眠”状态,释状态,释放系统资源,它每分钟放系统资源,它每分钟“醒醒”过来一次,查看当前过来一次,查看当前是否有需要运行的命令。命令执行后,任何输出都是否有需要运行的命令。命令执行后,任何输出都将作为邮件发送给将作为邮件发送给crontabcrontab的所有者,或者是的所有者,或者是/etc/etc/crontabcrontab文件中文件中MAILTOMAILTO环境变量中指定的用户环境变量中指定的用户. .277.4.5 7.4.5 操作操作croncron后台进程的表格后台进程的表格crontabcrontab命令命令 crontabcrontab

31、命令用于安装、删除或者列出用于驱动命令用于安装、删除或者列出用于驱动croncron后台进程的表格。用户把要执行的命令序列放后台进程的表格。用户把要执行的命令序列放到到crontabcrontab文件中以获得执行。每个用户都有自己的文件中以获得执行。每个用户都有自己的crontabcrontab文件。文件。 在在/ /var/spool/cronvar/spool/cron下的下的crontabcrontab文件不可以直文件不可以直接创建或直接修改。接创建或直接修改。crontabcrontab文件是通过文件是通过crontabcrontab命命令得到的。该文件中每行都包括六个域,其中前五令得

32、到的。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间有空格或制表符分隔。格执行的命令。每个域之间有空格或制表符分隔。格式如下:式如下:minuteminute hourhour day-of-monthday-of-month month-of-yearmonth-of-year day-of-weekday-of-week commandcommand其中,这些项都不能为空,如果不需要指定某项,其中,这些项都不能为空,如果不需要指定某项,可使用可使用“* *”, ,认为是任何时间。认为是任何时间

33、。28下表给出每项的合法范围。下表给出每项的合法范围。时间时间合法范围合法范围minute0059hour0023,其中其中00就是就是12点点day-of-month0131month-of-year0112day-of-week06,其中其中0是周日是周日时间参数范围表时间参数范围表29要使用要使用cron服务服务,需安装需安装vixie-cron,crontabs,也也要确保要确保crond处于运行状态处于运行状态检查是否安装检查是否安装#rpm-aq|grepcroncrontabs-1.10-5vixie-cron-3.0.1-74anacron-2.3-25检查运行状态检查运行状态

34、#servicecrondstatuscrond(pid3852)正在运行正在运行30例如,每天下午的例如,每天下午的4 4点、点、5 5点、点、6 6点的点的5min5min、15min15min、25min25min、35min35min、45min45min、55min55min时执行时执行命令命令dfdf5,15,25,35,45,5516,17,18*df例如,每周一,三,五的下午例如,每周一,三,五的下午3:003:00点系统进行点系统进行维护状态,重新启动系统维护状态,重新启动系统0015*1,3,5shutdown-r+5例如,每小时的例如,每小时的1010分,分,4040分执

35、行用户目录分执行用户目录/ /liyangliyang下的下的calculacalcula这个程序这个程序10,40*/liyang/calcula例如,每小时的例如,每小时的1 1分执行用户目录分执行用户目录/bin/date/bin/date这这个指令个指令1*/bin/date31建立建立crontabcrontab文件的步骤:文件的步骤:(1)(1)建立文件:用文本编辑器编辑输入建立文件:用文本编辑器编辑输入crontabcrontab文件。文件。例如,有一个用户例如,有一个用户liyangliyang,用,用vivi编辑器编辑编辑器编辑crontabcrontab文件,文件名为文件,

36、文件名为job.job.假设存放在假设存放在/root/root目录下。目录下。#vi job#vi job59 20 12 6 0 59 20 12 6 0 lsls /etc/ /etc/passwdpasswd/在在6 6月月1212号星期日号星期日2020:5959分执行命令分执行命令 lsls /etc/ /etc/passwdpasswd(2)(2)安装文件:使用安装文件:使用crontabcrontab命令进行安装,使命令进行安装,使之生成之生成liyangliyang用户的用户的crontabcrontab文件。文件。#crontab/root/job32/ /var/spoo

37、l/cronvar/spool/cron目录下查看,这时发现有一目录下查看,这时发现有一个个liyangliyang文件,该文件就是所需的文件,该文件就是所需的crontabcrontab文文件。用件。用moremore命令查看该文件内容。命令查看该文件内容。#cat /#cat /var/spool/cron/liyangvar/spool/cron/liyang内容如下:内容如下:#DO NOT EDIT THIS FILE-edit the master #DO NOT EDIT THIS FILE-edit the master and reinstall.and reinstall.

38、#(job installed on Web Oct 8 19:26 2008)#(job installed on Web Oct 8 19:26 2008)#(#(CronCron version -$ version -$Id:crontab.c,vId:crontab.c,v 2.13 1994/01/17 03:20:37 2.13 1994/01/17 03:20:37 vixievixie Exp $) Exp $)59 20 12 6 0 59 20 12 6 0 lsls /etc/ /etc/passwdpasswd33crontabcrontab命令的语法格式如下:命令的

39、语法格式如下:crontabcrontab -u user file -u user filecrontabcrontab -u user (- -u user (-l|-r|-el|-r|-e) )-u user-u user:指定用户,默认是操作者本身。:指定用户,默认是操作者本身。-l-l:在标准输出上显示当前的:在标准输出上显示当前的crontabcrontab文件文件-r-r:删除当前的:删除当前的crontabcrontab文件文件-e-e:使用:使用VISUALVISUAL或或EDITOREDITOR环境变量所指的编辑器编辑环境变量所指的编辑器编辑当前的当前的crontabcro

40、ntab文件,当结束编辑离开时,编辑后的文文件,当结束编辑离开时,编辑后的文件将自动安装。件将自动安装。例如,查看当前的例如,查看当前的crontabcrontab文件文件# #crontabcrontab l l59 20 12 6 0 59 20 12 6 0 lsls /etc/ /etc/passwdpasswd20 * * * * cat /etc/20 * * * * cat /etc/passwdpasswd21 * * * 2,4,6 21 * * * 2,4,6 ls/usr/srcls/usr/src34例如,删除用户例如,删除用户liyangliyang的的crontab

41、crontab文件文件# #crontabcrontab u u liyangliyang r r如果查看是否删除了该用户的如果查看是否删除了该用户的crontabcrontab文件?文件?35crontabcrontab文件的文件的时间应用实例如下表格所示:时间应用实例如下表格所示:分分小小时日日月月周周说明明01151,3,5,7,9,11*在在 1、3、5、7、9 和和 11 月的月的 15 日的日的 1 a.m. 运行命令运行命令30*3,5只在星期三和星期五每小只在星期三和星期五每小时的的 30 分分时执行命令一次行命令一次0,300-5,17-23*在午夜到在午夜到 5 a.m.

42、以及以及 7 p.m. 到到 11 p.m. 之之间整点整点时和和 30 分分时运行命令运行命令 0011*在每年在每年 1 月月 1 日午夜日午夜执行命令一次行命令一次00*0在每个星期日午夜运行命令。在每个星期日午夜运行命令。这相当于相当于每周一次每周一次 30010,20,30*每月的每月的 10、20 和和 30 日(二月除外)日(二月除外)的的 12:30 a.m. 运行命令。运行命令。 36例如,每天下午例如,每天下午3点点20执行查看日历命令执行查看日历命令创建创建crontab文件文件,文件名为文件名为carn#vicarn2015*/usr/bin/cal安装安装cronta

43、b文件文件#crontabcarn以上例题的结果在以上例题的结果在/ /varvar/spool/mail/root/spool/mail/root文件文件中。如果希望结果保存在某文件中。例如,将中。如果希望结果保存在某文件中。例如,将结果保存在当前目录中的结果保存在当前目录中的ca.txtca.txt中。如何修改中。如何修改?37例如,每月的例如,每月的1、11、21、31日是的日是的6:30执行一次执行一次ls命令命令创建创建crontab文件文件,文件名为文件名为lsrn#vilsrn306*/10*ls安装安装crontab文件文件#crontablsrn如何查看结果如何查看结果?例如

44、,例如,13月份的每个星期的每一天每一小时中的每月份的每个星期的每一天每一小时中的每10分分钟列表方式查看钟列表方式查看/home下的信息下的信息创建创建crontab文件文件,文件名为文件名为test.cron#vitest.cron*/10*1-3*ls-l/home安装安装crontab文件文件#crontabtest.cron如何查看结果如何查看结果?38例如,每两个小时向用户发送信息:例如,每两个小时向用户发送信息:Haveabreaknow创建创建crontab文件文件,文件名为文件名为brno#vibrno0*/2*wallHaveabreaknow.安装安装crontab文件文

45、件#crontabbrno在终端显示结果在终端显示结果:Broadcastmessagefromroot(FirOct1708:00:002008)Haveabreaknow.39例如,每周一至周五例如,每周一至周五3点钟,在目录点钟,在目录/home中,中,查找文件名为查找文件名为*.c,且是,且是4天前的文件,对满足天前的文件,对满足该条件的文件进行删除。该条件的文件进行删除。创建创建crontab文件文件,文件名为文件名为firm#vifirm0003*1-5find/home-name*.c-mtime4-execrm;安装安装crontab文件文件#crontabfirm如何查看结果

46、如何查看结果?40例如例如, ,每天的每天的3 3点点3030备份备份/etc/etc目录目录, ,将备份文件将备份文件保存保存/backup/backup/etc.tar.gzetc.tar.gz. .创建创建crontabcrontab文件文件, ,文件名为文件名为bf.cronbf.cron# #vi vi bf.cronbf.cron3030 3 * * * tar 3 * * * tar - -z zcvcvf f/backup/etc.tar.gz/etc安装安装crontabcrontab文件文件# #crontabcrontab bf.cronbf.cron如何查看结果如何查看

47、结果?41例如例如, ,每天的每天的3 3点点3030备份备份/etc/etc目录目录, ,将备份的结果保将备份的结果保存为形式为存为形式为/backup/etc/backup/etc年月日年月日. .tar.gztar.gz提示:获取计算机年月日的命令为提示:获取计算机年月日的命令为date +%date +%Y%m%dY%m%d创建创建baketcbaketc文件文件# #vi vi baketcbaketcrqrq=date +%=date +%Y%m%dY%m%d tar tar zcvfzcvf /backup/ /backup/etc$rq.tar.gzetc$rq.tar.gz

48、/etc /etc修改文件修改文件bkaetcbkaetc属性,使其可执行属性,使其可执行# #chmodchmod u+xu+x baketcbaketc 创建创建crontabcrontab文件文件, ,文件名为文件名为bfrq.cronbfrq.cron#vibfrq.cron3030 3 * * * 3 * * * ././baketcbaketc安装安装crontabcrontab文件文件# # crontabcrontab bfrq.cronbfrq.cron42例如例如, ,每月的每月的1 1号上午号上午8:008:00查找查找/home目录下目录下1天内修改过的文件,并将查找的

49、文件打成天内修改过的文件,并将查找的文件打成一个压缩包,保存在一个压缩包,保存在/bak/lastmod.tar.gz.创建创建crontab文件文件,文件名为文件名为lastrn#vilastrn000801*tar-zcvf/bak/lastmod.tar.gzfind/home-mtime-1-typef安装安装crontab文件文件#crontablastrn43思考题:思考题:编写编写shellshell脚本。给出提示,是否删除用脚本。给出提示,是否删除用户,如果回答是,则由键盘输入待删除户,如果回答是,则由键盘输入待删除的用户名(要求该用户的的用户名(要求该用户的idid号号=50

50、0=500),),如果输入的用户名不存在或用户名的如果输入的用户名不存在或用户名的idid号小于号小于500500,给出提示,退出本次操作,给出提示,退出本次操作,否则删除该用户并给出删除成功的提示。否则删除该用户并给出删除成功的提示。实验时,使用实验时,使用atat命令运行该脚本。命令运行该脚本。447.5 7.5 进程的挂起及恢复进程的挂起及恢复进程的挂起进程的挂起(Ctrl+z)例如,例如,#cattext.file1+Stoppedcattext.file进程的恢复进程的恢复u使用使用fg命令将挂起的进程放回到前台执行命令将挂起的进程放回到前台执行u使用使用bg命令将挂起的进程放到后台

51、执行命令将挂起的进程放到后台执行例如前面的例子例如前面的例子#fg1#bg1457.6 Linux7.6 Linux进程管理进程管理7.6.1使用使用ps命令查看进程状态命令查看进程状态具体参数见教材具体参数见教材p129例如,例如,#psPIDTTYTIMECMD2080pts/000:00:00bath2104pts/000:00:00ps例如,例如,#psefUIDPIDPPIDCSTIMETTYTIMECMD常用常用#ps-aux467.6 Linux7.6 Linux进程管理进程管理ps输出所包含的信息有:输出所包含的信息有:USER:用于说明是那个用户启动了该进程:用于说明是那个用

52、户启动了该进程PID:是进程号的意思,通常用来标识一个进程:是进程号的意思,通常用来标识一个进程%CPU:该进程的:该进程的CPU使用率使用率%MEM:该进程的内存使用率:该进程的内存使用率VSZ:代表使用的虚拟内存大小:代表使用的虚拟内存大小RSS:指的是常驻内存大小:指的是常驻内存大小TTY:运行在那个终端上:运行在那个终端上STAT:运行状态:运行状态TIME:表示这个进程占用了多少:表示这个进程占用了多少CPU时间时间COMMAND:表示启动这个进程的命令名称:表示启动这个进程的命令名称477.6 Linux7.6 Linux进程管理进程管理7.6.2使用使用top命令查看进程状态命令

53、查看进程状态具体参数见教材具体参数见教材p131top命令命令ps命令的基本作用是相同的,显示系命令的基本作用是相同的,显示系统当前的进程及状态,但统当前的进程及状态,但top是一个动态显示是一个动态显示过程过程例如,例如,#topd30每隔每隔30移实时更新一次系统中运行的进移实时更新一次系统中运行的进程状态程状态487.6 Linux7.6 Linux进程管理进程管理在在top显示的屏幕中,我们可以使用显示的屏幕中,我们可以使用“P”键按键按CPU使用时间对进程列表排序;使用使用时间对进程列表排序;使用“M”键按内存使用率对进程列表排序;使键按内存使用率对进程列表排序;使用用“N”键按照打

54、开时间排序;使用键按照打开时间排序;使用“A”键按照键按照pid来排序,使用来排序,使用“q”键退出。键退出。 497.6 Linux7.6 Linux进程管理进程管理7.6.3使用使用kill命令终止进程命令终止进程前台进程的终止前台进程的终止:通常使用通常使用ctrl+c后台进程的终止后台进程的终止:使用使用killkill通过向进程发送指定的信号来结束通过向进程发送指定的信号来结束相应进程相应进程7.6.4使用使用sleep命令暂停进程命令暂停进程例如,例如,#sleep100:lsl/etc/passwd507.7 7.7 进程文件系统进程文件系统PROCPROCPROC文件系统是一个

55、虚拟的文件系统,文件系统是一个虚拟的文件系统,用于输出系统的运行状态,为操作系统本用于输出系统的运行状态,为操作系统本身和应用进程之间的通信提供了一个界面,身和应用进程之间的通信提供了一个界面,使应用程序能够安全、方便地获得系统当使应用程序能够安全、方便地获得系统当前的运行状态和内核的内部数据信息,并前的运行状态和内核的内部数据信息,并可以修改某些系统的配置信息。用户可以可以修改某些系统的配置信息。用户可以像访问普通文件一样对其进行访问,但它像访问普通文件一样对其进行访问,但它只存在于真正的物理磁盘当中。所以,当只存在于真正的物理磁盘当中。所以,当系统重启和电源关闭的时候,该系统中的系统重启和

56、电源关闭的时候,该系统中的数据和信息将全部消失。数据和信息将全部消失。51文件或目录文件或目录说明说明/proc/1关于进程关于进程1的信息目录,每个进程在的信息目录,每个进程在/PROC下有一个名为其进程号的目录下有一个名为其进程号的目录/proc/cpuinfoCPU信息信息/proc/meminfo内存信息内存信息/proc/modules当前加载了哪些核心模块当前加载了哪些核心模块/proc/uptime系统的启动时间长度系统的启动时间长度表表7-37-3重要的重要的PROCPROC文件系统文件和目录文件系统文件和目录p133p1337.7 7.7 进程文件系统进程文件系统PROCPR

57、OC52例如,有一个例如,有一个c的源程序的源程序calculate.c,编译后,编译后的可执行文件为的可执行文件为calculate,并保存在并保存在/root下,下,现在使其运行现在使其运行#./calculate#psUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot210861.20.11344224pts/0R21:200:11./calculate#ll/proc在显示的信息中有在显示的信息中有2108目录。目录。#ll/proc/2108其下有很多文件其下有很多文件,其中的其中的status是状态文件,包含了是状态文件,包含了很多关于

58、进行的有用的信息很多关于进行的有用的信息,如下为该文件内容。如下为该文件内容。#cat/proc/2108/status53Name:calculateStatus:R(running)Tgud:2108pid:2108ppid:2083等信息等信息#cat/proc/1/status则则Name应该是什么,应该是什么,pid是多少?是多少?54作业题作业题P135 P135 2 2、3 3、5 5、6 655选择题选择题1.1.下列下列( )( )命令提供了命令提供了实时的的对系系统处理器的状理器的状态的的监视 A. A. psps B. B. psps -aux C. top D. kil

59、l -aux C. top D. kill2.2.下面下面()命令可以列出定义在以后特定时间运行一次的所命令可以列出定义在以后特定时间运行一次的所有任务有任务AatqBcronCbatchDat3.下面下面()可以删除一个用户并同时删除用户的主目录可以删除一个用户并同时删除用户的主目录ArmuserrBdeluserrCuserdelrDusermgrr4.4.缺省的用户邮件放在缺省的用户邮件放在()A/mail/B./var/mail/C./var/mail/spool/D./var/spool/mail/565. 5. 用用()符号将输出重定向内容附加在原文的后面符号将输出重定向内容附加在

60、原文的后面 A | B C A | B C 6.6.终止一个前台进程可能用到的命令和操作终止一个前台进程可能用到的命令和操作()AkillBctrl+cCshutdownDhalt7.从后台启动进程,应在命令的结尾加上符号从后台启动进程,应在命令的结尾加上符号A&BC#D$8. 8. crontab文件由六个域组成,每个域之间用空格分文件由六个域组成,每个域之间用空格分割,其排列如下:割,其排列如下:B。AMINHOURDAYMONTHYEARCOMMANDBMINHOURDAYMONTHDAYOFWEEKCOMMANDCCOMMANDHOURDAYMONTHDAYOFWEEKDCOMMAND

61、YEARMONTHDAYHOURMIN579. ( )9. ( )命令是在命令是在vi编辑器中执行存盘退出。编辑器中执行存盘退出。(ZZ)A:qB:wqC:q!D:WQ10.10.不是进程和程序的区别。不是进程和程序的区别。A程序是一组有序的静态指令,进程是一次程序的执行过程程序是一组有序的静态指令,进程是一次程序的执行过程B程序只能在前台运行,而进程可以在前台或后台运行程序只能在前台运行,而进程可以在前台或后台运行C程序可以长期保存,进程是暂时的程序可以长期保存,进程是暂时的D程序没有状态,而进程是有状态的程序没有状态,而进程是有状态的11.11.用标准的输出重定向用标准的输出重定向()像像

62、“file01”能使文件能使文件file01的数据(的数据()A.被移动被移动B.被复制被复制C.被打印被打印12.下列不是下列不是Linux系统进程类型的是系统进程类型的是()A交互进程交互进程B批处理进程批处理进程C守护进程守护进程D就绪进程就绪进程5813Linux查看文件内容的命令中,若希望在查看查看文件内容的命令中,若希望在查看文件内容过程中可以用光标上下移动来查看文文件内容过程中可以用光标上下移动来查看文件内容,应使用()命令件内容,应使用()命令AcatBmoreClessDmenu14.cron的守护进程用于的守护进程用于()A.负责文件在网络中的共享负责文件在网络中的共享B.

63、管理打印子系统管理打印子系统C.跟踪管理系统信息和错误跟踪管理系统信息和错误D.管理系统日常任务的调度管理系统日常任务的调度59操作题操作题1、每星期三上午、每星期三上午10点执行点执行ls命令命令2、要求每天上午、要求每天上午10点、点、11点执行点执行pwd命令命令3、要求每月、要求每月1号上午号上午10点执行关闭计算机点执行关闭计算机4、每周日凌晨零点零分定期备份、每周日凌晨零点零分定期备份/user/backup到到/tmp目录下目录下 4、显示当前目录中的全部文件、显示当前目录中的全部文件5、修改文件、修改文件/lx/a.txt的权限,使每个人都可以读的权限,使每个人都可以读取和写入这个文件取和写入这个文件6、创建用户、创建用户usex,密码为,密码为456456。然后在虚拟终。然后在虚拟终端端3以以usex账户登录账户登录 7、将、将/home/mine目录内的所有文件打包存放在当目录内的所有文件打包存放在当前目录下前目录下mi.tar的文件中。的文件中。60、在、在/logs目录中查找修改时间在目录中查找修改时间在5日以前的文日以前的文件并删除它们件并删除它们61

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号