linux 进程管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章进程管理►1.什么是程序(Process):►1.1程序与执行文件(process&program)►1.2Linux的多人多任务环境►2.工作管理(jobcontrol):&,[ctrl]-z,jobs,fg,bg,kill►3.程序管理►3.1程序的观察:ps,top,pstree►3.2程序的删除:kill,killall►3.3系统资源的观察:free,uname,uptime,netstat,dmesg,sar►4.关于程序的执行顺序:nice,renice►5.特殊档案与程序:►5.1SUID/SGID/SBIT的概念►5.2/proc/*代表的意义►5.3查询已开启档案或已执行程序开启之档案:fuser,lsof,pidof进程与程序(process&program)►Linux底下执行一个指令时,系统会给予这个动作一个ID,我们称为PID。►根据启用这个指令的使用者与相关的指令功能,给予这个特定PID一组权限,该指令可以进行的行为则与这个PID的权限有关。►这就是为什么Linux这么多用户,但是每个人都可以拥有自己的环境了的原因。►每个程序都有三组的权限,每组都具有r/w/x的权限,所以:『不同的使用者身份执行这个program时,系统给予的权限也都不相同!』►利用touch来建立一个空的档案,当root执行这个touch指令时,他取得的是UID/GID=0/0的权限,而当dmtsai(UID/GID=501/501)执行这个touch时,他的权限就跟root不同父程序子程序►当我们登入系统后,会取得一个bash的shell,然后,我们用这个bash提供的接口去执行另一个指令,例如/usr/bin/passwd或者是touch等等,那些另外执行的指令也会被触发成为PID。►那个PID就是『子程序』了,bash环境,就称为『父程序』了!►:工作管理►(jobcontrol):&,[ctrl]-z,jobs,fg,bg,kill►这个工作管理(jobcontrol)是当我们登入系统取得bashshell之后,在单一终端机接口下同时进行多个工作的行为管理。►如下这一串指令中,重点在那个&的功能,表示将file1这个档案复制为file2,且放置于背景(后台)中执行,也就是说执行这一个命令之后,在这一个终端接口仍然可以做其它的工作!而当这一个指令(cpfile1file2)执行完毕之后,系统将会在您的终端接口显示完成的消息!►前景:您可以控制的这个工作称为前景的工作(foreground);►背景:在内存内可以自行运作的工作,无法直接控制他,除非以bg/fg等指令将该工作呼叫出来。工作管理的常用指令举例工作管理的限制►要进行bash的jobcontrol必须要注意到的限制是:►程序必须来是shell的childprocess►程序不能等待terminal/shell的输入(input)举例►我们要将/etc/整个备份成为/tmp/etc.tar.gz时,又不想要等待,那么可以这样做:►在输入一个指令后,在该指令的最后面加上一个『&』代表将该指令丢到背景中,此时bash会给予这个指令一个『工作号码(jobnumber)』,就是那个[1]啦!至于后面那个24874则是该指令所触发的『PID』jobs程序的观察程序的观察top►top也是程序观察工具,但不同于ps是静态的结果输出,top这个程序可以持续的监测(monitor)整个系统的程序工作状态。►例如下面的范例一,在预设的情况下,每次更新程序资源的时间为5秒,不过,可以使用-d来进行修改。top范例top范例top范例top范例►要找出最损耗CPU资源的那个程序时,大多使用的就是top这支程序啦!然后强制以CPU使用资源来排序(在top当中按下P即可),程序之间的相关性pstree系统资源的观察►ff网络监控►d查看系统信息dmesg常驻在内存当中的程序►系统每分钟都会去扫瞄/etc/crontab以及相关的设定档,来进行工作排程。那么那个工作排程是谁负责的?►是crond这个程序所管理的,它在后台持续不断的运作,套句以前DOS年代常常说的一句话,它是『常驻在内存当中的程序』►这些常驻在内存当中的程序有很多,不过主要大致分成系统本身所需要的服务,例如刚刚提到的crond及atd,还有syslog等等的。还有一些则是负责网络联机的服务,例如Apache,named,postfix,vsftpd...等等的。►这些网络服务程序被执行后,会启动一个可以负责网络监听的端口(port),以提供外部客户端(client)的联机要求。主要内容►进程和多进程的概念►进程类型►如何运行后台进程►如何进行进程控制7.1进程概述►进程(process):正运行的程序,即程序只有再被系统载入了内存并运行后才能够叫做进程。►程序是磁盘文件,而进程则是内存中工作着的代码。►获得当前运行的程序及其进程号:ps[user@hostname]$ps[参数]7.1.2进程间关系►复制机制来产生进程►进程关系:树形关系►每一个进程都记录了它的父进程和子进程的ID►进程结束之后退回到它的父进程►任何子进程都自动从父进程那里继承三个打开的设备文件:标准输入设备(键盘、鼠标):stdin(standardincoming,标准输入)标准输出设备(显示器等):stdout(standardoutputting,标准输出)做标准错误输出(stderr,standarderror)7.2进程类型►前台和后台进程前台:一个程序控制着标准输入输出后台:一个程序不从标准输入接受输入,一般也不将结果输出到标准输出►守护进程一般以后台进程的方式存在开机即被载入到系统中并常驻在系统中,直到关机时才结束,也被专称为“Daemon”,7.3进程控制命令►监视进程运行状态►在用户退出后让进程继续运行►更改进程的优先级►在进程有问题的时候杀死进程7.3.1监视进程►报告系统当前的进程状态:ps#ps[选项]ps命令输出字段含义字段名意义USER进程所有者的用户名PID进程号,可以唯一标识该进程%CPU进程自最近一次刷新以来所占用的CPU时间和总时间的百分比%MEM进程使用内存的百分比VSZ进程使用的虚拟内存大小,以K为单位RSS进程占用的物理内存的总数量,以K为单位TTY进程相关的终端STAT进程状态,用下表代码中的一个给出TIME进程使用的总CPU时间COMMAND被执行的命令行NI进程的优先级值,较小的数字意味着占用较少的CPU时间PRI进程优先级PPID父进程IDWCHAN进程等待的内核事件名进程状态符号含义R运行或准备运行S睡眠状态I空闲Z僵尸D不间断睡眠W进程没有驻留页T停止或跟踪7.3.2用户退出后继续运行进程►Nohup:让用户的程序在用户退出系统后继续运行[echo@echoecho]$nohupdir&[1]613[echo@echoecho]$nohup:appendingoutputto‘nohup.out’[1]+Donenohup.dir[echo@echoecho]$[echo@echoecho]$ls#*mail*#1565tBp#DesktopGraphicKDE1.gifRMAILbindustbinlsechonohup.outnotmalwork[echo@echoecho]$catnohup.out#*mail*#1565tBp#GraphicRMAILdustbinnormalDesktopKDE1.gitbinnohup.outwork7.3.3调整优先级►在启动进程时指定优先级nice–优先级改变量命令[参数][对象]&►进程运行时调整优先级renice优先级的改变量[PID][-u用户…][-pPID…][-gGID…]7.3.3终止进程►Ctrl+c:终止前台程序►kill:送一个结束进程的信号到某个当前运行的特定进程,从而结束进程#kill[选项][信号]进程号正常结束killPID强制结束kill-9PID7.4运行后台进程►使用&符号[echo@echoecho]$ls–Rdirlist&[1]561适合于:►程序运行途中不需要用户的干预►程序执行时间较长►使用nohupNohup命令[参数]输出文件&程序的优先级增加5►使用cron可以定时地、周期地执行程序主配置文件/etc/crontab►使用crontab描述传递给cron的执行程序格式:minutehourdaymonthdayofweekcommand保存在/var/spool/cron目录SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/#run-parts01****rootrun-parts/etc/cron.hourly024***rootrun-parts/etc/cron.daily224**0rootrun-parts/etc/cron.weekly4241**rootrun-parts/etc/cron.monthly运行后台进程-2►使用anacron任务被列在配置文件/etc/anacrontab中。格式是:perioddelayjob-identifiercommand►使用atat时间命令1命令2命令3……►使用atq:列出用户未执行完的任务►使用atrm:删除后台执行的任务►使用batch:在系统负载允许的情况下执行命令小结&习题►思考题(1)什么是进程?(2)如何显示进程?(3)进程之间具有什么样的关系?(4)什么是多进程和多任务?►上机题(1)查看系统运行后台进程。(2)如何启动多个进程?(3)如何调整进程的优先级?

1 / 50
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功