linux服务与进程管理1_第1页
linux服务与进程管理1_第2页
linux服务与进程管理1_第3页
linux服务与进程管理1_第4页
linux服务与进程管理1_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、进程管理1、linux是一个多用户多任务的操作系统。多用户是指多个用 户可以在同一时间使用计算机系统;多任务是指linux可以同时执 行几个任务,它可以在还未执行完一个任务时又执行另一项任务。操 作系统管理多个用户的请求和多个任务。2、大多数系统都只有一个cpu和一个主存,但一个系统可能有 多个二级存储磁盘和多个输入/输出设备。操作系统管理这些资源并 在多个用户间共享资源,当您提出一个请求时,给您造成一种假象, 好像系统只被您独自占用。而实际上操作系统监控着一个等待执行的 任务队列,这些任务包括用户作业、操作系统任务、邮件和打印作业 等。操作系统根据每个任务的优先级为每个任务分配合适的时间片,

2、 每个时间片大约都有零点几秒,虽然看起来很短,但实际上已经足够 计算机完成成千上万的指令集。每个任务都会被系统运行一段时间, 然后挂起,系统转而处理其他任务;过一段时间以后再回来处理这个 任务,直到某个任务完成,从任务队列中去除。3、程序与进程a)程序是静态概念,本身作为一种软件资源长期保存;而进程是 程序的执行过程,它是动态概念,有一定的生命期,是动态产生 和消亡的。b)程序和进程无一一对应关系。一个程序可以由多个进程共用; 另一方面,一个进程在活动中有可顺序地执行若干个程序。4、进程一般分为交互进程.批处理进程和守护进程系统启动时 启动,又称监控进程三类。值得一提的是守护进程总是活跃的,一

3、 般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启 动或超级管理用户root来启动。比如在fedora或redhat中,我 们可以定义httpd服务器的启动脚本的运行级别,此文件位于 /etu/init d 目录下,文件名是 ht/tpd, /etu/init d/httpd 就 是httpd服务器的守护程序,当把它的运行级别设置为3和5时, 当系统启动时,它会跟着启动。5、父进程与子进程a)子进程是由一个进程所产生的进程,产生这个子进程的进程称 为父进程b)在linux系统中,使用系统调用fork创建子进程。fork 复制的内容包括父进程的数据和堆栈段以及父进程的进程环境c)当父

4、进程终止时,子进程也随之而终止。但子进程终止,父进 程并不一定终止。比如httpd服务器运行时,我们可以杀掉其子 进程,父进程并不会因为子进程的终止而终止。6> 前台进程和后台进程a)前台进程:在shel 1提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户给出提示符。 这条命令与shel 1异步运行,即在前台运行,用户在它完成之前 不能执行另一个命令b)后台进程:在shel 1提示处打入命令,若后随一个&, shell 创建的子进程运行此命令,但不等待命令退出,而直接返回到对 用户给出提示。这条命令与shell同步运行,即在后台运行。后 台进程

5、必须是非交互式的(最常用的就是find,执行该命令一 般不要直接对整个目录进行查找,比较耗时,但可是使用计划任 务,等到系统比较空闲时再查找7、进程状态:就绪(进程已经分配到资源,但因为其他进程正占 用cpu,所以暂时不能运行而等待分配cpu的状态),等待(因等待 某种事件而暂时不能运行的状态,运行(进程分配到cpu,正在处 理器上运行8、查看用户信息a) w显示信息的含义i jcpu:以终端代号来区分,该终端所有的相关的进程执 行时,所消耗的cpu时间会显示在这里pcpu:cpu执行程序耗费的时间iii. what :用户正在执行的操作iv. load average:分别显示系统在过去1、

6、5、15分钟 内的平均负载程度(很重要,平均值在0.6-08下比 较轻v from:显示用户从何处登录系统vi . idle:用户闲置的时间,这是一个计时器,一旦用户 执行任何操作,该计时器便会被重置匕oo七qlocalhos七/ # w11:18:30 up 9:15 z 2 users rload average: 0.00z 0.00r0.00userttyfromloginsidlejcpupcpuwhatj avetu七七丫111:18am 400s0.01s0.01s-bash9> 进程查看的命令ps1长格式输出;u按用户名和启动时间的顺序来显示进程;j用任务格式来显示进程;

7、f用树形格式来显示进程;a显示所有用户的所有进程(包括其它用户); x显示无控制终端的进程;r显示运行中的进程;w避免详细参数被截断;匕oo*tqlocalhos七 匕oo七# ps pid ttytime cmd21313 pts/300:00:00 bash21356 pt:s/300:00: 00 ps匕oo*tqlocalhos七 root #ps命令输出的tty列告诉用户进程从哪一个终端开始。如果作为普 通用户登录,那么通常就是用户自己的终端或控制台。如果在一个多 控制台的系统上工作,用户将看到自己在每一个控制台起动的所有进 程。ps命令输出的stat列告诉用户当前进程的状态。进程最

8、常见的两 种状态是s (sleeping)代表沉睡的进程、r (running)代表运 行的进程(waiting进程在等待一个事件或者资源、stopped进 程被停止、zombie僵尸进程。运行的进程是当前正在cpu中执行 的进程,而沉睡的进程是当前并不活动的进程。进程可以每秒种在沉 睡和运行两种状态间转换多次。ps命令输出的time列告诉用户进程占用cpu的总共时间,这些时 间通常都很短,这是因为大多数进程运行结束只需很短的时间就够to ps查看隶属于自己的进程ps -u / ps -1查看隶属于自己的进程的详细信息ps -le / ps -aux查看所有用户执行的进程的详细信息ps -uu

9、 javetu、ps -aux | grep javetu 查看系统中指定 用户javetu执行的进程ps -le | grep init查看执行进程init的信息pstree查看进程树linux通过给每一个进程分配唯一的数码来处理进程,这个数码叫 做进程工d号(或ptd号。ptd号当系统被引导时从0开始,每增 加一个进程就加1位,直到系统确定的一个数字,例如65564o然 后,pied号再从0开始,周而复始,不断循环。通常ptd号较小的 进程是系统的核心和守护进程,当系统被引导时它们就存在,并只要 系统还在运行,它们就处于活跃状态。当用户管理进程时比如终止 它们),就必须要用到p工d号。其中

10、:ps -aux最常用root# psuserpid先cpu先memvszrssttystatstarttimecommandroot100001368136s>s02:020:04ini*troot2000.000?sw02:020:00keventdroot30.00000?sw02:020:00kapmd root40.00.000?swn02:020:00ksof 七iirqd cpuo root90.00.00000osw02:020:02bdflushroot50.000sw02:020:00kswapdroot60.00000sw02:020:00kscand/dmaroo

11、t7000000sw02:020:00kscand/normalroot80.00000sw02:020:00kscand/highmem匕oo七10000000sw02:020:00kupda t:ed root110.00.000sw02:020:00mdrecoverydroot19000000sw02:020:03kjournaldroot770.00.000sw02:020:00khubduser进程的属主;pid进程的id;ppid父进程;筍cpu进程占用的cpu百分比;% mem占用内存的百分比;ni进程的nice值,数值大,表示较少占用cpu时间;vsz进程虚拟大小;rss驻留

12、中页的数量;wchantty 终端idstat进程状态stat进程状态durdriterruptible sleep (usuallyio)r正在运行可中在队列中可过行的;s处于休眠状态;t停止或被追踪;w进入内存交换(从内核z 6开始无效):x死掉的进程(从来没见过);z僵尸进程;<忧先级高的进程n忧先级较低的进程l有些页被锁进内存;s进程的领导者(在它之下有子进程);1 i s multi-threaded (using cijzinethread, like nptl pthreads do)+位于后台的进程组;1)可以与管道|和more连接起来分页查看,也可以重定向到某个 文件中

13、。2)和grep结合,提取指定程序的进程rootlocalhost root# ps -aux|grep httpdroot20340000.23572552 pts/1 s 16:570:00 grep httpdrootqlocalhost root#3)ps -aux -sort pid 按,照 pid 方卡序10、 杀死进程killa)为什么要杀死进程:i 该进程占用了过多的cpu时间ii. 该进程锁住了一个终端,使其它前台进程无法运行 111运行时间过长,但没有预期效果iv产生了过多到屏幕或磁盘文件的输出v无法正常退出关闭进程:kill 进程号kill 一9进程号(强行关闭kill

14、-1进程号(重启进程(kill -1查看信号关闭图形程序xkill (比较少用关闭进程pkill进程名称结束所有进程killall注意:终止一个进程或终止一个正在运行的程序,一般是通过kill、 killall、pkill、xkill等进行。比如一个程序已经死掉,但又 不能退出,这时就应该考虑应用这些工具。另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的 父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器 的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止 数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定 程度的时候,数据库就有崩溃的危险。比如mys

15、ql服务器最好是按 其正常的程序关闭,而不是用pkill mysqld a killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该 用kill来杀掉。查找服务进程号pgrep服务名称 (pgrep是通过程序的名字来 查询进程的工具,一般是用来判断程序是否正在运行。在服务器的配 置和管理中,这个工具常被应用pgrep参数选项程序名-1列出程序名和进程工d;-o进程起始的工d;-n进程终止的工d;proc是一个虚拟文件系统,在linux系统中它被挂载于/proc目 录之上。/proc是操作系统的内存映象文件系统,是一个虚拟的文 件系统。当查看它们时,看到的是内核

16、里的信息,这些文件夹有助于 了解系统内部信息。文件系统下的多种文件提供的系统信息不是针对 某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使 用的文件随系统配置的变化而变化。11> nice 和 renice在linux操作系统中,进程之间是竟争资源(比如cpu和内存的占 用关系。这个竟争优劣是通过一个数值来实现的,也就是谦让度。 高谦让度表示进程优化级别最低。负值或0表示对高优点级,对其 它进程不谦让,也就是拥有优先占用系统资源的权利。谦让度的值从 -20 至q 19o目前硬件技术发展极速,在大多情况下,不必设置进程的优先级,除非在进程失控而疯狂占用资源的情况下,我们有可能来

17、设置一下优先 级,但我个人感觉没有太大的必要,在迫不得已的情况下,我们可以 杀掉失控进程。nice可以在创建进程时,为进程指定谦让度的值,进程的优先级的 值是父进程shell的优先级的值与我们所指定谦让度的相加和。所 以我们在用nice设置程序的优先级时,所指定数值是一个增量,并 不是优先级的绝对值;nice执行程序的运行优先级nice -n myprogram (一般默认优st art先级为0)roo七localhos七 net # nice -5 /e七c/rc d/inits. d/h七七卩5 start:ing h*t*tpd: perl: warning: sett:ing loca

18、le failed perl: warning: please check that your locale settings language = ttzh_cn. gb18030 : zh_cn. gb2312: zh_cnnlc_all = (unse七)rlang = ttzh_cn gb18030: zh_cn are suppo匕七ed and ins七ailed on perl: warning: falling back 七o the ok rootlocalhost net# ps -le | grep 5 s0 216351370-5.utf-8nyour sys*tem

19、standard localehttpd-4997 schedu5003schedu5s4821639216355s4821640216355s4821641216355s4821642216355s4821643216355s4821644216355s482164521635rootlocalhostne七#48 21638 216355 s00000005-50035-50035-50035-50035-50035-50035-5003semop semop semop semop semop semop semop?00:00:00 00:00:00 00:00:00 00:00:00

20、 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00httpd httpd httpd httpd h 七 tpd h 七 tpd h 七 tpd httpd httpdrenice改变一个正在运行的进程的优先级renice n pid匕oo七qlocalhos七net #ps-le1 greph 七 tpd5s0216351370-5-4997schedu00:00:00h七七pd5s482163821635080-5-5003schedu00:00:00ht:七 pd5s482163921635080-5-5003semop00:00:00ht:七 p

21、d5s482164021635080-5-5003semop00:00:00h七七pd5s482164121635080-5-5003semop00:00:00ht;七 pd5s482164221635080-5-5003semop00:00:00ht:七 pd5s482164321635080-5-5003semop00:00:00h七七pd5s482164421635080-5-5003semop00:00:00h七七pd5s482164521635080-5-5003semop00:00:00ht七 pd匕oo七glocalhostnet #renice-6 2164521645:old

22、 priority -5p new priority,-6匕oo七glocalhos七net #ps-le1 grephi:七 pd5s0216351070-5-4997schedu00:00:00ht:七 pd5s482163821635080-5-5003schedu00:00:00h匕七pd5s482163921635080-5-5003semop00:00:00ht七 pd5s482164021635080-5-5003semop00:00:00ht:七 pd5s482164121635080-5-5003semop00:00:00h匕七pd5s482164221635080-5-50

23、03semop00:00:00ht:七 pd5s482164321635080-5-5003semop00:00:00ht:七 pd5s482164421635080-5-5003semop00:00:00h匕七pd5s482164521635074-6-5003semop?00:00:00ht七 pd12、进程睡眠sleep命令可使当前正在执行的进程在规定的时间内处于睡眠sleep time (以秒为单位)13、nohup使进程在用户退出登录后依旧继续执行,nohup命令将执行后的数据信息和错误信息默认存储到文件nohup. out (当没有重定向时,会在该进程用户的主目录中生成该文件中-n

24、ame hello.c >home/j avetu/find.2011.3.11&nohup program &javetulocalhos七 net$ nohup find 1 21691j ave七ulooal.hos七 net $ exit exitarpigmpnets七a七rt_acc 七atmip_mr_cachepacke七rt_cachedevip_mr_vifpschedrt_cache_statdev mcastip tables namesrawsnmpdriversnetlinkroutesockstat匕oo七olocalhost net# is

25、iroot:glocalhost net:# cd /r*oo*tglocalhost /# cd /home/javetu/sof七七a七 toptr_rif udp unixwirelessrootqlocalhost javetu# ab find.2011.3.11a. oirt c hello, ciroo七qlocalhost javet:u # root6localhost j avetu# abfind.2011.3.11a. out: c hello, ciroo七glocalhost javetu # abfind. 2011 3a. out: c hello, croot:qlocalhost jave七u #ishelloworld class my helloworld.j avates七ishelloworldclass my helloworldj ava test ishelloworldclass ny helloworldj ava test然后用户退出,该命令可继续执行。14、进程的挂起和恢复a)进程的中止(挂起)和终止i. 中止ctrl+z (暂停)ii. 终止ctrl+c (纟吉束)b)进程的恢复恢复到前台继续运行(fg)ii . 恢复到后台继续运行(bg)c)查看被挂起的进程(jo

温馨提示

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

评论

0/150

提交评论