Linux中的进程管理.ppt
《Linux中的进程管理.ppt》由会员分享,可在线阅读,更多相关《Linux中的进程管理.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第13章 Linux中的进程管理Linux是一个多用是一个多用户、多任、多任务的操作系的操作系统。在。在这样的系的系统中,各种中,各种计算机算机资源(如文件、内存、源(如文件、内存、CPU等)的分配和管等)的分配和管理都以理都以进程程为单位。位。为了了协调多个多个进程程对这些共享些共享资源的源的访问,操作系操作系统要跟踪所有要跟踪所有进程的活程的活动,以及它,以及它们对系系统资源的使用源的使用情况,从而情况,从而实施施对进程和程和资源的源的动态管理。本章将管理。本章将对Linux的的进程管理做程管理做详细的介的介绍。13.1 Linux进程概述程序是存储在磁盘上包含可执行机器指令和数据的静态实
2、程序是存储在磁盘上包含可执行机器指令和数据的静态实体,而进程是在操作系统中执行的特定任务的动态实体。体,而进程是在操作系统中执行的特定任务的动态实体。Linux系统中每个运行中的程序至少由一个进程组成。每个进程与其他系统中每个运行中的程序至少由一个进程组成。每个进程与其他进程都是彼此独立的,都有自己独立的权限与职责。一个用户的进程都是彼此独立的,都有自己独立的权限与职责。一个用户的应用程序不会干扰到其他用户的程序或者操作系统本身。应用程序不会干扰到其他用户的程序或者操作系统本身。Linux操作系统包括如下三种不同类型的进程,每种进程都操作系统包括如下三种不同类型的进程,每种进程都有其自己的特点
3、和属性:有其自己的特点和属性:交互进程:由一个交互进程:由一个shell启动的进程。交互进程既可以在前启动的进程。交互进程既可以在前台运行,也可以在后台运行。台运行,也可以在后台运行。批处理进程:这种进程和终端没有联系,是一个进程序列。批处理进程:这种进程和终端没有联系,是一个进程序列。守护进程:守护进程:Linux系统启动时启动的进程,并在后台运行。系统启动时启动的进程,并在后台运行。上述三种进程各有各的作用,使用场合也有所不同。上述三种进程各有各的作用,使用场合也有所不同。13.2 Linux进程原理为了更好地对为了更好地对Linux系统的进程进行高效、有针对性系统的进程进行高效、有针对性
4、地管理,需要对进程的基本原理有所了解,本节将介绍地管理,需要对进程的基本原理有所了解,本节将介绍Linux系统中进程的状态以及基本的工作模式。系统中进程的状态以及基本的工作模式。13.2.1 Linux进程的状态通常在操作系统中,进程至少要有三种基本状态,分别为:通常在操作系统中,进程至少要有三种基本状态,分别为:运行态、就绪态和封锁态(或阻塞态)。运行态、就绪态和封锁态(或阻塞态)。在在Linux系统中,进程主要有以下几个状态:系统中,进程主要有以下几个状态:运行态(运行态(TASK_RUNNING):此时,进程正在运行(即):此时,进程正在运行(即系统的当前进程)或者准备运行(即就绪态)系
5、统的当前进程)或者准备运行(即就绪态)等待态:此时进程在等待一个事件的发生或某种系统资源。等待态:此时进程在等待一个事件的发生或某种系统资源。Linux系统分为两种等待进程:可中断的系统分为两种等待进程:可中断的(TASK_INTERRUPTIBLE)和不可中断的)和不可中断的(TASK_UNINTERRUPTIBLE)。可中断的等待进程可以被某)。可中断的等待进程可以被某一信号(一信号(Signal)中断;而不可中断的等待进程不受信号的打扰,)中断;而不可中断的等待进程不受信号的打扰,将一直等待硬件状态的改变。将一直等待硬件状态的改变。停止态(停止态(TASK_STOPPED):进程被停止,
6、通常是通过):进程被停止,通常是通过接收一个信号。正在被调试的进程可能处于停止状态。接收一个信号。正在被调试的进程可能处于停止状态。僵死态(僵死态(TASK_ZOMBIE):由于某些原因被终止的进程,):由于某些原因被终止的进程,但是该进程的控制结构但是该进程的控制结构task_struct仍然保留着。仍然保留着。13.2.2 Linux进程工作模式在在Linux系统中,进程的执行模式划分为用户模式和系统中,进程的执行模式划分为用户模式和内核模式。如果当前运行的是用户程序、应用程序或者内内核模式。如果当前运行的是用户程序、应用程序或者内核之外的系统程序,那么对应进程就在用户模式下运行;核之外的
7、系统程序,那么对应进程就在用户模式下运行;如果在用户程序执行过程中出现系统调用或者发生中断事如果在用户程序执行过程中出现系统调用或者发生中断事件,就要运行操作系统(即核心)程序,进程模式就变成件,就要运行操作系统(即核心)程序,进程模式就变成内核模式。在内核模式下运行的进程可以执行机器的特权内核模式。在内核模式下运行的进程可以执行机器的特权指令;而且,此时该进程的运行不受用户的干预,即使是指令;而且,此时该进程的运行不受用户的干预,即使是root用户也不能干预内核模式下进程的运行。用户也不能干预内核模式下进程的运行。按照进程的功能和运行的程序分类,进程可划分为两按照进程的功能和运行的程序分类,
8、进程可划分为两大类:一类是系统进程,只运行在内核模式,执行操作系大类:一类是系统进程,只运行在内核模式,执行操作系统代码,完成一些管理性的工作,例如内存分配和进程切统代码,完成一些管理性的工作,例如内存分配和进程切换;另外一类是用户进程,通常在用户模式中执行,并通换;另外一类是用户进程,通常在用户模式中执行,并通过系统调用或在出现中断、异常时进入内核模式。用户进过系统调用或在出现中断、异常时进入内核模式。用户进程既可以在用户模式下运行,也可以在内核模式下运行。程既可以在用户模式下运行,也可以在内核模式下运行。13.3 Linux守护进程介绍如上所述,守护进程是如上所述,守护进程是Linux系统
9、三大进程之一,而系统三大进程之一,而且是系统中比较重要的一种,该进程可以完成很多工作,且是系统中比较重要的一种,该进程可以完成很多工作,包括系统管理以及网络服务等,下面就对这些守护进程进包括系统管理以及网络服务等,下面就对这些守护进程进行介绍。行介绍。13.3.1 守护进程简介守护进程(守护进程(Daemon,也称为精灵进程)是指在后台运行,也称为精灵进程)是指在后台运行而又没有终端或登录而又没有终端或登录shell与之结合在一起的进程。守护进程经常与之结合在一起的进程。守护进程经常在程序启动时开始运行,在系统结束时停止。这些进程没有控制在程序启动时开始运行,在系统结束时停止。这些进程没有控制
10、终端,所以称为在后台运行。终端,所以称为在后台运行。Linux系统有许多标准的守护进程,系统有许多标准的守护进程,其中一些周期性地运行来完成特定的任务(例如其中一些周期性地运行来完成特定的任务(例如crond),而其),而其余的则连续地运行,等待处理系统中发生的某些特定的事件(例余的则连续地运行,等待处理系统中发生的某些特定的事件(例如如xinetd和和lpd)。启动守护进程有如下几种方法:)。启动守护进程有如下几种方法:在引导系统时启动:此种情况下的守护进程通常在系统启在引导系统时启动:此种情况下的守护进程通常在系统启动动script的执行期间被启动,这些的执行期间被启动,这些script一
11、般存放在一般存放在/etc/rc.d中。中。人工手动从人工手动从shell提示符启动:任何具有相应的执行权限的提示符启动:任何具有相应的执行权限的用户都可以使用这种方法启动守护进程。用户都可以使用这种方法启动守护进程。使用使用crond守护进程启动:这个守护进程查询存放在守护进程启动:这个守护进程查询存放在/var/spool/cron/crontabs目录中的一组文件,这些文件规定了目录中的一组文件,这些文件规定了需要周期性执行的任务。需要周期性执行的任务。执行执行at命令启动:在规定的日期和执行一个程序。命令启动:在规定的日期和执行一个程序。13.3.2 重要守护进程介绍守护进程功能说明a
12、md自动安装NFS(网络文件系统)apmd高级电源管理httpdWeb服务器xinetd支持多种网络服务的核心守候程序arpwatch记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库autofs自动安装管理进程automount,与NFS相关,依赖于NISbootparamd引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息crondLinux下的计划任务dhcpd启动一个DHCP(动态IP地址分配)服务器gated网关路由守候进程,使用动态的OSPF路由选择协议inndUsenet新闻服务器linuxconf允许使用本地WEB服务器作为用户接口来配置机器lpd打印
13、服务器namedDNS服务器netfs安装NFS、Samba和NetWare网络文件系统network激活已配置网络接口的脚本程序nfsdNFS服务器portmapRPC portmap管理器,管理基于RPC服务的连接postgresql一种SQL数据库服务器routed路由守候进程,使用动态RIP路由选择协议sendmail邮件服务器sendmailsmbSamba文件共享/打印服务snmpd本地简单网络管理守候进程squid激活代理服务器squidsyslog一个让系统引导时起动syslog和klogd系统日志守候进程的脚本xfsX Window字型服务器,为本地和远程X服务器提供字型集x
14、ntpd网络时间服务器identd认证服务,在提供用户信息方面与finger类似13.4 启启动Linux进程程 在系统中,键入需要运行的程序的程序名,执行一个在系统中,键入需要运行的程序的程序名,执行一个程序,其实也就是启动了一个进程。在程序,其实也就是启动了一个进程。在Linux系统中每个进系统中每个进程都具有一个进程号,用于系统识别和调度进程。启动一程都具有一个进程号,用于系统识别和调度进程。启动一个进程有两个主要途径:手工启动和调度启动。与前者不个进程有两个主要途径:手工启动和调度启动。与前者不同的是:后者是事先进行设置,根据用户要求自行启动。同的是:后者是事先进行设置,根据用户要求自
15、行启动。13.4.1 手工启动1前台启前台启动这是手工启动一个进程的最常用的方式。一般地,用户键入一个这是手工启动一个进程的最常用的方式。一般地,用户键入一个命令命令“ls l”,这就已经启动了一个进程,而且是一个前台的进程。这,这就已经启动了一个进程,而且是一个前台的进程。这时候系统其实已经处于一个多进程状态。在通常情况下,用户在启动进时候系统其实已经处于一个多进程状态。在通常情况下,用户在启动进程时,系统中已经存在了许多运行在后台的、系统启动时就已经自动启程时,系统中已经存在了许多运行在后台的、系统启动时就已经自动启动的进程。动的进程。2后台启后台启动直接从后台手工启动一个进程用得比较少一
16、些,除非是该进程甚直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时,且用户也不急着要看到处理结果的时候。假设用户要启动一个为耗时,且用户也不急着要看到处理结果的时候。假设用户要启动一个要长时间运行的格式化文本文件的进程,为了不使整个要长时间运行的格式化文本文件的进程,为了不使整个shell在格式化过在格式化过程中都处于程中都处于“瘫痪瘫痪”状态(长时间看不到任何运行结果),因此这个时状态(长时间看不到任何运行结果),因此这个时候选择从后台启动进程是明智的选择,下面是一个后台启动进程的例子:候选择从后台启动进程是明智的选择,下面是一个后台启动进程的例子:#./calculate&/
17、启启动一个后台一个后台计算算进程程1 2116/分配分配给的的该后台后台进程的程的ID号号13.4.2 在指定时刻执行命令序列at命令有时候须要对系统进行一些比较费时而且占用资源的维护工作,有时候须要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜进行,这时候用户就可以事先进行调度安排,指定这些工作适合在深夜进行,这时候用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统会自动完成这一切工作。用户使任务运行的时间或者场合,到时候系统会自动完成这一切工作。用户使用用at命令在指定时刻执行指定的命令序列命令在指定时刻执行指定的命令序列at命令可以只指定时间,也可命令可
18、以只指定时间,也可以时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。以时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。比如说:用户现在指定了一个执行时间:凌晨比如说:用户现在指定了一个执行时间:凌晨3:20,而发出,而发出at命令的命令的时间是头天晚上的时间是头天晚上的20:00,那么这将会产生两种执行情况:如果用户在,那么这将会产生两种执行情况:如果用户在3:20以前仍然在工作,那么该命令将在这个时候完成;如果用户以前仍然在工作,那么该命令将在这个时候完成;如果用户3:20以前就退出了工作状态,那么该命令将在第二天凌晨才得到执行。以前就退出了工作状态,那么该命令将在第
19、二天凌晨才得到执行。13.4.3 在资源比较空闲的时候执行命令batch命令batch命令用低命令用低优先先级运行作运行作业,该命令几乎和命令几乎和at命令的功能完全命令的功能完全相同,惟一的区相同,惟一的区别在于:在于:at命令是在指定命令是在指定时间,很精确的,很精确的时刻刻执行指定行指定命令;而命令;而batch却是在系却是在系统负载较低,低,资源比源比较空空闲的的时候候执行命令,行命令,这个主要是由系个主要是由系统来决定来决定执行的,因而用行的,因而用户的干的干预权力很小。力很小。该命令适命令适合于合于执行占用行占用资源源较多的命令。多的命令。batch命令的命令的语法格式也和法格式也
20、和at命令十分相似,如下所示:命令十分相似,如下所示:batch-V-q queue-f file-mv 时间具体的参数解释与具体的参数解释与at命令相似,这里不再赘述,请参看命令相似,这里不再赘述,请参看at命令。命令。一般地说,不用为一般地说,不用为batch命令指定时间参数,因为命令指定时间参数,因为batch本身的特点就是本身的特点就是由系统决定执行任务的时间,如果用户再指定一个时间,就失去了该命由系统决定执行任务的时间,如果用户再指定一个时间,就失去了该命令本来的意义。令本来的意义。下面给出使用该命令的例子:下面给出使用该命令的例子:/使用使用batch命令命令执行在根目行在根目录下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 中的 进程 管理
限制150内