您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 第十次课进程控制与管理
第七章进程控制与管理•进程的概念•显示系统中当前执行的进程•终止执行中的进程•动态显示执行中的进程命令•检查内存状态•改变进程优先级•任务自动调度进程监视和控制是任何Linux系统管理员的核心任务。进程:程序关于某个数据集合在处理机上的一次运行过程。Linux操作系统包括如下3种不同类型的进程,每种进程都有其自己的特点和属性。(1)交互进程(2)批处理进程(3)守护进程前台(交互)进程、后台批处理(包含守护)进程查看守护进程:ntsysv启动守护进程(服务):service进程名start/restartstop进程运行的方式Linux为每一个进程分配一个进程标识号以指定和跟踪进程。PID:进程ID号PPID:父进程ID号前台和后台程序运行:后台运行程序:程序名&后台程序转入前台:fg进程名已经在前台运行的进程转入后台:ctrl+Z暂停进程,bg将其调入后台用jobs命令查看当前在后台运行的程序•一般进程执行完就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(Daemon,也称为精灵进程)是指在后台运行而又没有终端或登录shell与之结合在一起的进程。。•守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。守护进程Linux中的守护进程Linux系统有许多标准的守护进程,其中一些周期性地运行来完成特定的任务(例如crond),而其余的则连续地运行,等待处理系统中发生的某些特定的事件(例如xinetd和lpd)。用户可以通过使用这些进程方便地使用系统以及网络服务。守护进程功能说明amd自动安装NFS(网络文件系统)apmd高级电源管理httpdWeb服务器xinetd支持多种网络服务的核心守候程序arpwatch记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库autofs自动安装管理进程automount,与NFS相关,依赖于NISbootparamd引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息crondLinux下的计划任务dhcpd启动一个DHCP(动态IP地址分配)服务器gated网关路由守候进程,使用动态的OSPF路由选择协议Linux重要守护进程列表守护进程功能说明inndUsenet新闻服务器linuxconf允许使用本地WEB服务器作为用户接口来配置机器lpd打印服务器namedDNS服务器netfs安装NFS、Samba和NetWare网络文件系统network激活已配置网络接口的脚本程序nfsdNFS服务器portmapRPCportmap管理器,管理基于RPC服务的连接postgresql一种SQL数据库服务器routed路由守候进程,使用动态RIP路由选择协议sendmail邮件服务器sendmailsmbSamba文件共享/打印服务snmpd本地简单网络管理守候进程squid激活代理服务器squidsyslog一个让系统引导时起动syslog和klogd系统日志守候进程的脚本xfsXWindow字型服务器,为本地和远程X服务器提供字型集xntpd网络时间服务器identd认证服务,在提供用户信息方面与finger类似续表进程的启动1.手工启动•前台进程启动:程序名回车•后台进程启动:程序名&回车•注:交互进程在用户注销时自动关闭,为了让注销时程序能够继续运行,可以nohup程序名&2.调度启动(at,cron,anacron等)与进程管理有关的命令和工具•Ps•Top•Free•Kill•nice•reniceps命令•ps命令是查看进程状态的最常用的命令,可以提供关于进程的许多信息。根据显示的信息可以确定哪个进程正在运行、哪个进程被挂起、进程已运行多长时间、进程正在使用的资源、进程的相对优先级,以及进程的标识号(PID)等信息。ps命令的常用格式如下:•ps[option]Ps命令Ps命令常用选项有:•-A显示所有进程,包括系统进程和后台进程,?表示该进程不占用终端资源•-a其他用户执行的进程一起列出•-r只显示正在运行的进程•-u按面向用户的格式显示•-x显示所有没有控制终端进程信息•-l长格式输出-w宽行显示ps显示字段说明:•UID:进程所有者的userID•PID:进程IDPPID:父进程ID•%CPU:进程使用CPU的时间比•%MEM:使用内存的百分比•SIZE:使用虚拟内存大小•NI:优先级•VSZ:虚拟内存大小•RSS:常驻内存大小(Kbyte)•TTY:与进程有关的终端•STAT:状态•Start:进程开始执行的时间其中STAT具体含义如下:R:运行态S:休眠态I:空闲态Z:僵死态D:磁盘等待P:页等待W:交换导出N:低优先级T:终止:高优先级例如:ps-uUSER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMANDguest16540.10.858081540pts/0S23:160:00-bashps-waux2.动态显示执行中的进程top功能:动态显示系统当前的进程及其状态,可以通过用户按键来不断刷新当前状态。比较准确地说,top命令提供了实时的对系统处理器的状态监视。它可以显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用(P)、内存使用(M)和执行时间(T)对任务进行排序,而且它的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。U:监视特定用户K:中止指定进程格式:top[-d][时间间隔]例如:top:以交互的方式显示执行中的进程对cpu,内存的使用情况。top–d5:以时间间隔5秒刷新显示结果通过在键盘上按下ctrl+C来终止top的执行。3.进程的终止进程终止的情况1、程序正常结束就退出2、结束前台运行程序:方法一:ctrl+c方法二:kill命令3、后台运行程序使用kill命令4、发送信号给该程序的所有进程killall格式kill[-s信号量|]PID说明:kill送出一特定的信号(signal)给行程ID为PID的行程根据该信号而做特定的动作,若没有指定,预设是送出终止(TERM)的信号。常用的信号有:HUP(1),KILL(9),TERM(15)分别代表着挂起,杀死,结束详细的信号可以用kill-l列出例如:将pid为2323的进程kill掉:kill-92323将pid为2456的进程重跑(restart):kill-HUP2456killall命令命令格式和kill类似不过killall可以直接加上进程名称例如:[guest@obglinuxguest]$cat&[1]2772[guest@obglinuxguest]$killall–9cat[1]+已杀死cat[guest@obglinuxguest]$进程的挂起和恢复进程的中止(挂起)和终止–挂起(Ctrl+Z)–终止(Ctrl+C)进程的恢复–恢复到前台继续运行(fg)–恢复到后台继续运行(bg)查看被挂起的进程(jobs)4。检查内存状态free功能:查看当前系统内存和交换分区的使用状态。功能:显示系统内存和交换分区的使用情况格式:free[-选项][参数]常用的选项s,用于按指定的时间间隔持续显示内存和交换分区的使用情况。例如:free–s10表示以间隔10秒刷新显示的结果进程优先级:•Linux是采用优先数调度算法来分配CPU1、普通用户只能降低进程优先级2、root允许提高优先级•ps–l显示出NI和PRI字段PRI:是进程实际运行优先级(系统计算)NI:是进程请求执行优先级•优先级范围为-20~19-20:最高优先级19:最低优先级进程默认的优先级为05.指定进程优先级nice,renice5.1:nice使某程序以指定的优先级运行。格式:nice-n程序其中n为指定的优先级,-是选项标志,要将优先级设置为负数,有两个--。如果n的取值超过进程优先机级的范围[-20,19],自动调整为最接近的取值。5.2renice:允许用户修改一个正在运行进程的优先级格式:renicen[-选项][参数]pid其中n为指定要修改的优先级,与nice不同。常见选项-u用户名列表更改用户所有进程的优先级。-g组名列表更改组中所有进程的优先级在使用nice和renice命令时要注意:•用户只能对自己所有的进程使用renice命令。•root用户可以在任何进程上使用renice命令。•只有root用户才能提高进程的优先权与进程管理有关的图形工具“系统监视器”功能:显示进程列表及各进程对cpu,内存的使用情况,可以在图形界面下执行如下命令的功能:top,kill,nice,renice等设置任务调度有时候,尤其在服务器上,需要在指定的时间以一定的间隔周期性地执行某些特殊进程,交互式启动进程已经无法满足这中需要。需要采用调度的方式预先指定进程的执行。可采用的调度启动任务的方法有:•以at调度执行•以batch调度执行•以cron调度执行•以anacron调度执行任务at命令使用Linux的过程中,有时会需要在特定时间执行一些任务。比如需要对系统进行一些费时而且占用资源的维护工作,例如网站数据库备份等。用户就可以事先进行调度安排,指定任务运行的时间或者场合。届时系统将自动启动该进程,自动完成这些工作。此时就要使用at命令。•at命令可以只指定时间,也可以时间和日期一起指定。下面是at命令的基本用法:•at[-V][-qqueue][-ffile][-mldv]time•at-cjob1[job2job3...]•atq命令的用途为显示待执行队列中的作业,其命令格式如下:•atq[-V][-qqueue]•atrm命令的功能为根据作业编号删除队列中的作业,其基本命令格式如下:•atrm[-V]job1[job2job3...]batch命令•batch命令用低优先级运行作业,该命令几乎和at命令的功能完全相同。唯一的区别在于at命令是在指定时间,很精确地执行指定命令,而batch却是在系统负载较低,资源比较空闲的时候执行命令。batch的执行主要是由系统来控制的,因而用户的干预权力很小。该命令适合于执行占用资源较多的命令。•batch命令的语法格式也和at命令十分相似,如下所示:•batch[-V][-qqueue][-ffile][-mv][time]以cron调度执行cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。系统通过命令crontab,用户可以提交、编辑或删除相应的调度执行的作业。cron是linux系统的一个十分重要的守护进程,无论是系统管理员还是普通用户要使用cron进行周期性进程的调度,必须保证该守护进程已经安装和启动启动。判断安装和启动的命令(rpm–q和service)与调度有关的配置文件每一个用户都可以有一个crontab文件来保存调度信息。可以使用它运行任意一个shell脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的crontab文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过cron.deny和cron.allow这两个文件来禁止或允许用户拥有自己的crontab文件。Crontab配置文件的格式一个配置文件中有多行,每一行代表一各需要周期性调度的任务。每一行用空格或tab分隔成6列,各列的意义如下:第1列:分钟,0~59第2列:小时,0~23(0表示子夜)第3列:日,1~31第4列:月,1~12第5列:星期,0~6(0表示星期天)第6列:要运行的命令(最好以绝对路径表示以避免搜索路径的问题)其中1-5列可以用-代表时间段,用*代表任意,用,代表枚举的特定值例如:4541,10,22**/apps/bin/backup.sh上面的例子表示每月1、10、22日的4:45运行/apps/bin目录下的backup.sh。101
本文标题:第十次课进程控制与管理
链接地址:https://www.777doc.com/doc-3966933 .html