Linux进程管理_第1页
Linux进程管理_第2页
Linux进程管理_第3页
Linux进程管理_第4页
Linux进程管理_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、Beyond TechnologyLinux进程管理Beyond TechnologyLinux进程管理l作业和进程的概念lLinux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。为了完成这些任务,系统上同时运行着多个进程,正在执行的一个或多个相关进程称为一个作业。 Beyond Technology作业和进程l进程与程序是有区别的l进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序

2、。而且一个程序可以启动多个进程。 l进程:程序的动态执行过程l一个程序可以有多个进程l一个或多个相关进程有时也被称作一个作业Beyond Technology作业和进程l每当运行一个程序,都要启动一个进程。命令ps用来显示正在执行的进程的信息。l$ pslPID TTY TIME CMDl32183 pts/1 00:00:00 bashl32209 pts/1 00:00:00 ps 常用的命令:ps auxl第一列的PID称为进程的标识号,是系统赋予每个正在执行进程的唯一标号。最后一列CMD,是正在执行的进程的名称。Beyond Technology作业和进程管理 l 前台和后台运行作业l

3、作业可以在前台,也可以在后台运行,在同一时间只能有一个作业在前台运行。前台作业是指正对它进行交互操作的作业,它从键盘接受输入,并将输出送往屏幕。另一方面,后台作业不接受中断的输入。它们在运行时不需要交互操作,只是默默运行。 Beyond Technology作业和进程管理 l在Linux系统中每个进程都具有一个进程号,用于系统识别和调度进程。启动一个进程有两个主要途径:手工启动和调度启动,后者是事先进行设置,根据用户要求自行启动。Beyond Technology作业和进程管理 l1 1、手工运行、手工运行l由用户输入命令,直接启动一个进程便是手工启动进由用户输入命令,直接启动一个进程便是手工

4、启动进程。但手工启动进程又可以分为很多种,根据启动的程。但手工启动进程又可以分为很多种,根据启动的进程类型不同、性质不同,实际结果也不一样进程类型不同、性质不同,实际结果也不一样l前台启动是手工启动一个进程的最常用的方式。一般前台启动是手工启动一个进程的最常用的方式。一般地,地,用户输入一个命令用户输入一个命令就已经启动了一个进程,而且就已经启动了一个进程,而且是一个是一个前台的进程前台的进程。Beyond Technology作业和进程管理 l输入输入yesyes命令如下:命令如下:l$ yesl该命令将会打印出一连串的该命令将会打印出一连串的y y。用户可以通过输入中断键。用户可以通过输入

5、中断键(通常为(通常为Ctrl+CCtrl+C)来中断这个作业。来中断这个作业。l在输入命令以后立即使用在输入命令以后立即使用“psps”命令,可以查看进程状态。命令,可以查看进程状态。如果看不到进程状态,有可能是某些进程结束太快,使用如果看不到进程状态,有可能是某些进程结束太快,使用“psps”查看时该进程已经执行结束了。查看时该进程已经执行结束了。l上例中若希望上例中若希望yes命令继续运行下去,但同时也希望命令继续运行下去,但同时也希望Shell提提示符仍回到屏幕上去做其他的事情。这时可以将示符仍回到屏幕上去做其他的事情。这时可以将yes放到后放到后台运行。这样,就能够在不需要任何交互操

6、作的情况下使它台运行。这样,就能够在不需要任何交互操作的情况下使它继续运行了。继续运行了。 Beyond Technology作业和进程管理 l下面将yes的输出送给/dev/null,然后让这个作业在后台运行。将一个作业放到后台运行的一种方法是在命令后面加“&”字符,输入命令以后,出现一个数字,这个数字就是该进程的作业号和进程号,也称为PID。代码如下:l$ yes /dev/null &l1 164l这时,用户可以看到Shell的提示符又回到屏幕上,用户可以继续其他工作。 Beyond Technology作业和进程管理 l现在,yes进程正在后台运行,并不断把一连串y字符

7、送给/dev/null。可使用jobs命令查看这个作业的状态,或者用ps命令来查看进程的状态。l$ jobsl1 + running yes /dev/null&Beyond Technology作业和进程管理 l2. 2. 撤销作业撤销作业l可以使用可以使用killkill命令来撤销某个作业或终止某个进程。命令来撤销某个作业或终止某个进程。killkill命令用命令用作业号或作业号或PIDPID作为参数来指定要撤销的作业。当使用作为参数来指定要撤销的作业。当使用作业号作业号来标来标识作业时,在作业号前面要加识作业时,在作业号前面要加“”。若该作业的作业号为。若该作业的作业号为1 1,

8、可用下面的命令可用下面的命令l$ kill %1l 将会撤销这个作业。撤销了这个作业后,可以再用将会撤销这个作业。撤销了这个作业后,可以再用jobsjobs命令命令来检查一下。来检查一下。l$ jobsl1+ 已终止已终止 yes /dev/nulll$l结果证实这个作业已经被撤销。如果再次使用结果证实这个作业已经被撤销。如果再次使用jobsjobs命令,屏幕上命令,屏幕上将不会显示任何信息。将不会显示任何信息。Beyond Technology作业和进程管理 l还可以使用进程标识号(PID)来终止该进程。在此,PID为164,所以命令:l$ kill 164l与命令:l$ kill %1l是

9、等价的。l当使用进程标识号来指定作业时,进程标识号之前不加“”。 Beyond Technology作业和进程管理 l3. 中止作业和重新启动作业l还有另外一种方法用来将作业放到后台运行。首先正常地在前台启动一个作业,然后暂时中止它,最后在后台重新启动它。l 例如在前台启动yes进程,命令如下:l$ yes/dev/nulll当然,由于yes是在前台运行的,用户不能在屏幕上看到Shell的提示符了。现在,将这个作业挂起,而不是将其用Ctrl+C中断。挂起一个作业将不会撤销这个作业,而只是将这个作业暂时中止了,直到用户重新启动它。 Beyond Technology作业和进程管理 l用户可以通过

10、键入挂起键用户可以通过键入挂起键(Ctrl+ZCtrl+Z)来挂起这个作业。来挂起这个作业。l$ yes/dev/nulllctrl+zl1+ stopped yes /dev/nulll 当挂起一个作业后,它只是不运行了。这时,这当挂起一个作业后,它只是不运行了。这时,这个作业个作业不占用不占用CPUCPU时间时间。用户可以重新启动这个作业,。用户可以重新启动这个作业,使这个作业重新运行,就像什么都没有发生过一样。作使这个作业重新运行,就像什么都没有发生过一样。作业业将在被中止的地方将在被中止的地方继续执行。继续执行。Beyond Technology作业和进程管理 l使用使用fgfg命令,

11、可以在前台重新启动一个作业。命令,可以在前台重新启动一个作业。l$ fglYes /dev/nulllShellShell将把命令的名字重新显示到屏幕上,使用户知道将把命令的名字重新显示到屏幕上,使用户知道目前哪个作业在前台执行。用户可以再次使用目前哪个作业在前台执行。用户可以再次使用Ctrl+ZCtrl+Z中中止这个作业,改成用止这个作业,改成用命令命令bgbg将这个作业放入后台执行。将这个作业放入后台执行。这时,命令将在后台运行,就像在上面用这时,命令将在后台运行,就像在上面用“& &”来启动这来启动这个命令一样。个命令一样。l$ bgl1+ yes /dev/ null

12、&l$Beyond Technology作业和进程管理 l如何再次中止这个作业呢?因为作业是在后台运行,使用Ctrl+Z已经没有什么用了。要中止该作业,首先应用fg命令将这个作业放到前台,然后再中止它。可用fg命令将已经中止的作业或后台运行的作业放到前台来运行。 Beyond Technology作业和进程管理 l后台作业和被中止的作业有很大的不同。被中止的作业没有运行,它不再使用CPU时间,并且它也不做任何工作。这个作业仍然占用系统的内存,但是这些内存可能被交换到硬盘上。而后台作业则是在运行、使用内存,并且与用户的其他作业同时进行的一些任务。如果一个后台作业有向显示终端的标准输出,那

13、么该作业在运行时可能会向用户终端显示一些信息。这样的显示有时会干扰用户的前台作业。例如,如果用户使用命令:Beyond Technology作业和进程管理 l$ yes &l而没有将输出的重定向到/dev/null,y串会被显示到用户屏幕上。为了终止这无穷无尽的“y”,用户只能使用fg命令把作业放在前台,并使用Ctrl+C终止它的运行。 Beyond Technology问题:l说说这几种作业的区别: 前台作业、后台作业、中止作业、中断作业Beyond Technology作业和进程管理 l另外注意,fg和bg命令的缺省作业是最近被中止的作业。当用户用jobs命令列出时,作业号后面的“

14、+”号表明该作业是最近被中止的作业。如果用户同时运行多个作业,fg或bg命令可以使用作业ID作为参数来指定作业放到前台还是后台。例如Beyond Technology作业和进程管理 l$ fg %2 (作业2被放到前台执行)l或l$ fg %3 (作业3被放到前台执行)l$ bg %4 (作业4被放到后台执行)l在fg或bg命令中不能使用进程标识符。另外,使用单独的作业号也可以将作业放到前台。Beyond Technology作业和进程管理 l4. 作业的顺序执行l用户可以在一个命令行同时输入两个或更多的命令来使作业顺序执行。这时,作业之间用分号(;)或与号(&)分开。Linux系统将

15、按照命令行的顺序来执行这些作业,并将所有的输出结果在屏幕上显示出来。Beyond Technology作业和进程管理 l$ cd /; pwd; ls Fl该命令将顺序执行以下三个命令:l1)cd /命令将使用户的工作目录变为根目录。l2)pwd命令显示当前工作目录的全路径。l3)列出当前工作目录中的内容。l进程的启动、中止、撤销与作业基本相同。 Beyond Technology练习:l1 在前台启动一个作业,然后结束作业l2 在后台启动一个作业,然后结束作业l3 启动一个作业,然后把它挂起l4 将被挂起的作业分别在前台和后台唤醒运行l5 分别启动,然后挂起3个作业,唤醒第二个被挂起的作业在

16、后台运行。如何再次挂起这个作业?如何结束这个被唤醒在作业?Beyond Technology复习1、ps2、jobs3、kill4、bg,fg5、&,crtl+Z,ctrl+CBeyond Technology进程状态间的相互转化:Beyond Technology进程相关概念l进程互斥:进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。Beyond Technology进程相关概念l临界资源:操作系统中将一次只允许一个进程访问的资源称为临界资源。Beyond Technology进程相关概念

17、l临界区:进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源的互斥访问,应保证诸进程互斥地进入各自的临界区。Beyond Technology进程相关概念l进程同步:一组并发进程按一定的顺序执行的过程称为进程间的同步。具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。Beyond Technology进程调度l概念:按一定算法,从一组待运行的进程中选出一个来占有CPU运行。l调度方式:抢占式 非抢占式Beyond Technology调度算法l先来先服务调度算法l短进程优先调度算法l高优先级优先调度算法l时间片轮转法Beyond Technology死锁

18、l多个进程因竞争资源而形成一种僵局,若无外力作用,这些进程都将永远不能再向前推进。Beyond Technology常用命令l1、pstree(process status tree)l功能:以树状图显示进程l语法:pstree 选项l树的根是init进程。Beyond Technology常用命令l2、topl功能:提供了对系统处理器实时的状态监视,显示系统中活跃的进程列表。可以按CPU、内存以及进程的执行时间对进程进行排序,并不断更新。l语法:top 选项Beyond Technologyltop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Wind

19、ows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, 17616k free, 22052k buffers Swap: 192772k total,

20、 0k used, 192772k free, 123988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd 14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top 1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init 2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 3 root

21、 RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 Beyond Technologyl统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:01:06:48当前时间;up 1:22系统运行时间,格式为时:分;1 user当前登录用户数;load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。Beyond Technologyl第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:Task

22、s: 29 total进程总数1 running正在运行的进程数28 sleeping睡眠的进程数0 stopped停止的进程数0 zombie僵尸进程数Cpu(s): 0.3% us用户空间占用CPU百分比1.0% sy内核空间占用CPU百分比0.0% ni用户进程空间内改变过优先级的进程占用CPU百分比98.7% id空闲CPU百分比0.0% wa等待输入输出的CPU时间百分比Beyond Technologyl最后两行为内存信息。内容如下:Mem: 191272k total物理内存总量173656k used使用的物理内存总量17616k free空闲内存总量22052k buffer

23、s用作内核缓存的内存量Swap: 192772k total交换区总量0k used使用的交换区总量192772k free空闲交换区总量123988k cached缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。Beyond Technology常用命令l3、nicel功能:调整程序运行的优先级(nice值,ADJUST),范围-2019,数值越小优先级越高,数值越大优先级越低,默认值为10。l语法:nice -n 值 -adjustment -help -versi

24、on commandBeyond Technologyl直接运行nice,显示当前程序的运行优先级;l#nicel#0l #nice n 21 nicel#19l#nice -5 ftp #调整ftp进程的优先级为5l#nice -5 ftp #调整ftp进程的优先级为-5Beyond Technologyl4、 cron at调度指定的命令只能执行一次。调度指定的命令只能执行一次。 但在实际的系统管理中有些命令需要在指定的但在实际的系统管理中有些命令需要在指定的日期和时间重复执行,例如每天例行要做的数日期和时间重复执行,例如每天例行要做的数据备份。据备份。cron调度正可以满足这种需求。调度

25、正可以满足这种需求。lcron让使用者在固定时间执行指定的程序cron调度与调度与crond进程、进程、crontab命令和命令和crontab配置文件有关。配置文件有关。Beyond Technology常用命令l4、crontabl功能:让使用者在固定时间执行指定的程序l语法:crontab crontabfile -u user -l|-r|-eBeyond Technology(1)crontab配置文件o保存保存cron调度的内容,共调度的内容,共6个字段,从左到右依次为:个字段,从左到右依次为: 分钟分钟 小时小时 日期日期 月份月份 星期星期 命令命令 0-59 0-23 01-

26、31 01-12 0-6 0-59 0-23 01-31 01-12 0-6 合法合法shellshell命令命令注:所有字段不能为空,若不指定内容则用注:所有字段不能为空,若不指定内容则用“* *”填空;填空;字段之间用空格分开;可以用字段之间用空格分开;可以用“- -”表示一段时间,如表示一段时间,如1-51-5;也可使用;也可使用“, ,”作时间分割,如作时间分割,如5,15,25.5,15,25.o如果执行的命令未使用输出重定向,那么系统将会把如果执行的命令未使用输出重定向,那么系统将会把执行结果以邮件的方式发送给执行结果以邮件的方式发送给crontabcrontab文件的所有者。文件

27、的所有者。o用户的用户的crontabcrontab配置文件保存于配置文件保存于/var/spool/cron/var/spool/cron目录目录中,其文件名与用户名相同。中,其文件名与用户名相同。 Beyond Technology(2)crontab命令格式:格式:crontab 选项选项功能:维护用户的功能:维护用户的crontab配置文件。配置文件。主要选项说明:主要选项说明:-e(edit)、-l(list)、-r(erase)例例9xufqin用户创建一个新的用户创建一个新的crontab配置文件。配置文件。$ crontab e 系统自动将系统自动将xufqin(与用户同名)文

28、件(与用户同名)文件挂载到挂载到/var/spool/cron下下详细内容见详细内容见例例10 Beyond Technology(3)crond进程crond进程在系统启动时自动启动,并一直运行于后台。进程在系统启动时自动启动,并一直运行于后台。crond进程负责检测进程负责检测crontab配置文件,并按照其设置内配置文件,并按照其设置内容,定期重复执行指定的容,定期重复执行指定的cron调度工作。调度工作。 例例10 xufqin用户设置用户设置cron调度,要求每周五的调度,要求每周五的17点点00分将分将/home/hellen/data目录中的所有文件归档并压缩目录中的所有文件归档

29、并压缩为为/backup目录中的目录中的hellen-data.tar.gz文件。文件。输入输入“crontab -e”命令后,启动命令后,启动vi文本编辑器,用户输文本编辑器,用户输入以下配置内容后保存退出。入以下配置内容后保存退出。Beyond Technology查看crontab结果l查看查看crontab$ crontab l 或或$ cat /var/spool/cron/xufqin/var/spool/cron/xufqin l查看查看crontab执行结果执行结果$mail$cat 文件名(若输出重定向)文件名(若输出重定向)$man mailBeyond Technolog

30、yl5、atl功能:让用户在指定时间执行某个程序或命令l语法:at -f file -mldvV TIMElTIME格式:HH:MM/DD/YYl# at now + 1minutesl at wall “nihao”l at ctrl+DBeyond Technology其他系统管理l1、unamel功能:显示目前的版本,如用户目前所用的操作系统的版本、硬件的名称等系统信息。l语法:uname 选项Beyond Technology其他系统管理l2、datel功能:显示和设置系统日期和时间l语法:date 选项l例:date +today is %x,time is %Xdate s 18:

31、00:00date -d next-day +%Y%m%ddate -d last-day +%Y%m%ddate -d yesterday +%Y%m%ddate -d last-month +%Y%mBeyond Technology其他系统管理l3、cal(calendar)l功能:显示某年某月的日历l语法:cal 选项 月 年Beyond Technology其他系统管理l4、freel功能:显示内存状态,包括实体内存、虚拟的交换文件内存、共享内存区段,以及系统核心使用的缓冲区等。Beyond Technology其他系统管理l5、lastl功能:列出目前与过去登录系统用户的相关信息。l语法:last 选项 账号名称 终端机编号Beyond Technology其他系统管理l6

温馨提示

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

评论

0/150

提交评论