ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:20.88KB ,
资源ID:6666578      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6666578.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux进程管理.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Linux进程管理.docx

1、Linux进程管理Linux 进程管理目 录1 程序和进程 21.1 进程分类 31.2 进程的属性 31.3 父进程和子进程 32 进程管理 42.1 ps 监视进程工具 42.1.1 ps 的参数说明 42.1.2 ps 应用举例 52.2 pgrep 63 终止进程的工具 kill 、killall、pkill、xkill 73.1 kill 73.2 killall 83.3 pkill 93.4 xkill 94 top 监视系统任务的工具 94.1 top 命令用法及参数 94.2 top 应用举例 105 进程的优先级:nice和renice 11程序和进程程序是为了完成某种任务

2、而设计的软件,比如OpenOffice是程序。什么是进程呢?进程就是运行中的程序。一个运行着的程序,可能有多个进程。 比如 LinuxSir.Org 所用的WWW服务器是apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd服务,apache服务器将会创建有多个httpd进程来对其进行服务。进程分类进程一般分为交互进程、批处理进程和守护进程三类。值得一提的是守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。比如在Fedora或Redhat中,我们可以定义httpd 服务器的启动脚本的运行

3、级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd 就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。rootlocalhost # chkconfig -level 35 httpd on由于守护进程是一直运行着的,所以它所处的状态是等待请求处理任务。比如,我们是不是访问 LinuxSir.Org ,LinuxSir.Org 的httpd服务器都在运行,等待着用户来访问,也就是等待着任务处理。进程的属性进程ID(PID):是唯一的数值,用来区分进程;父进程和父进程的ID(PPID);启动进程的用户ID

4、(UID)和所归属的组(GID);进程状态:状态分为运行R、休眠S、僵尸Z;进程执行的优先级;进程所连接的终端名;进程资源占用:比如占用资源大小(内存、CPU占用量);父进程和子进程他们的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止。但子进程终止,父进程并不一定终止。比如httpd服务器运行时,我们可以杀掉其子进程,父进程并不会因为子进程的终止而终止。在进程管理中,当我们发现占用资源过多,或无法控制的进程时,应该杀死它,以保护系统的稳定安全运行;进程管理对于Linux进程的管理,是通过进程管理工具实现的,比如ps、kill、pgrep等工具;ps 监视进程工具ps 为我们提供了

5、进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top工具;ps 的参数说明ps 提供了很多的选项参数,常用的有以下几个;l 长格式输出;u 按用户名和启动时间的顺序来显示进程;j 用任务格式来显示进程;f 用树形格式来显示进程;a 显示所有用户的所有进程(包括其它用户);x 显示无控制终端的进程;r 显示运行中的进程;ww 避免详细参数被截断;我们常用的选项是组合是aux 或lax,还有参数f的应用;ps aux 或lax输出的解释;USER 进程的属主;PID 进程的ID;PPID 父进程;%CPU 进程占用的CPU百分比;%MEM 占用内存的百分比;NI

6、 进程的NICE值,数值大,表示较少占用CPU时间;VSZ 进程虚拟大小;RSS 驻留中页的数量;WCHAN TTY 终端IDSTAT 进程状态D Uninterruptible sleep (usually IO)R 正在运行可中在队列中可过行的; S 处于休眠状态;T 停止或被追踪; W 进入内存交换(从内核2.6开始无效);X 死掉的进程(从来没见过);Z 僵尸进程; ps001.txtrootlocalhost # more ps001.txt 这里是把所有进程显示出来,并输出到ps001.txt文件,然后再通过more 来分页查看;实例二:和grep 结合,提取指定程序的进程;roo

7、tlocalhost # ps aux |grep httpdroot 4187 0.0 1.3 24236 10272 ? Ss 11:55 0:00 /usr/sbin/httpdapache 4189 0.0 0.6 24368 4940 ? S 11:55 0:00 /usr/sbin/httpdapache 4190 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4191 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4192 0.0 0.6 24368

8、 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4193 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4194 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4195 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdapache 4196 0.0 0.6 24368 4932 ? S 11:55 0:00 /usr/sbin/httpdroot 4480 0.0 0.0 51

9、60 708 pts/3 R+ 12:20 0:00 grep httpd实例二:父进和子进程的关系友好判断的例子rootlocalhost # ps auxf |grep httpdroot 4484 0.0 0.0 5160 704 pts/3 S+ 12:21 0:00 _ grep httpdroot 4187 0.0 1.3 24236 10272 ? Ss 11:55 0:00 /usr/sbin/httpdapache 4189 0.0 0.6 24368 4940 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4190 0.0 0.6 24368

10、 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4191 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4192 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4193 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4194 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 419

11、5 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpdapache 4196 0.0 0.6 24368 4932 ? S 11:55 0:00 _ /usr/sbin/httpd这里用到了f参数;父与子关系一目了然;pgreppgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。在服务器的配置和管理中,这个工具常被应用,简单明了;用法:#ps 参数选项 程序名常用参数-l 列出程序名和进程ID;-o 进程起始的ID;-n 进程终止的ID;举例:rootlocalhost # pgrep -lo httpd4557 h

12、ttpdrootlocalhost # pgrep -ln httpd4566 httpdrootlocalhost # pgrep -l httpd4557 httpd4560 httpd4561 httpd4562 httpd4563 httpd4564 httpd4565 httpd4566 httpdrootlocalhost # pgrep httpd45574560456145624563456445654566终止进程的工具 kill 、killall、pkill、xkill终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进

13、行。比如一个程序已经死掉,但又不能退出,这时就应该考虑应用这些工具。另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如mysql服务器最好是按其正常的程序关闭,而不是用pkill mysqld 或killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill 来杀掉。killkill的应用是和ps 或pgrep 命令结合在一起使用的

14、;kill 的用法:kill 信号代码 进程ID注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止;举例:rootlocalhost # ps auxf |grep httpdroot 4939 0.0 0.0 5160 708 pts/3 S+ 13:10 0:00 _ grep httpdroot 4830 0.1 1.3 24232 10272 ? Ss 13:02 0:00 /usr/sbin/httpdapache 4833 0.0 0.6 24364 4932 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4834 0.0 0.6 24

15、364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4835 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4836 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4837 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4838 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache

16、4839 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpdapache 4840 0.0 0.6 24364 4928 ? S 13:02 0:00 _ /usr/sbin/httpd我们查看httpd 服务器的进程;您也可以用pgrep -l httpd 来查看;我们看上面例子中的第二列,就是进程PID的列,其中4830是httpd服务器的父进程,从48334840的进程都是它4830的子进程;如果我们杀掉父进程4830的话,其下的子进程也会跟着死掉;rootlocalhost # kill 4840 注:杀掉4840这个进程;rootl

17、ocalhost # ps -auxf |grep httpd 注:查看一下会有什么结果?是不是httpd服务器仍在运行?rootlocalhost # kill 4830 注:杀掉httpd的父进程;rootlocalhost # ps -aux |grep httpd 注:查看httpd的其它子进程是否存在,httpd服务器是否仍在运行?对于僵尸进程,可以用kill -9 来强制终止退出;比如一个程序已经彻底死掉,如果kill 不加信号强度是没有办法退出,最好的办法就是加信号强度 -9 ,后面要接杀父进程;比如;rootlocalhost # ps aux |grep gaimbeinan

18、 5031 9.0 2.3 104996 17484 ? S 13:23 0:01 gaimroot 5036 0.0 0.0 5160 724 pts/3 S+ 13:24 0:00 grep gaim或rootlocalhost # pgrep -l gaim5031 gaimrootlocalhost # kill -9 5031killallkillall 通过程序的名字,直接杀死所有进程,咱们简单说一下就行了。用法:killall 正在运行的程序名killall 也和ps或pgrep 结合使用,比较方便;通过ps或pgrep 来查看哪些程序在运行;举例:rootlocalhost b

19、einan# pgrep -l gaim2979 gaimrootlocalhost beinan# killall gaimpkillpkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。应用方法:#pkill 正在运行的程序名举例:rootlocalhost beinan# pgrep -l gaim2979 gaimrootlocalhost beinan# pkill gaimxkillxkill 是在桌面用的杀死图形界面的程序。比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。当xkill运行时出来

20、和个人脑骨的图标,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消;xkill 调用方法:rootlocalhost # xkilltop 监视系统任务的工具和ps 相比,top是动态监视系统任务的工具,top 输出的结果是连续的;top 命令用法及参数top 调用方法:top 选择参数参数:-b 以批量模式运行,但不能接受命令行输入;-c 显示命令行,而不仅仅是命令名;-d N 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;-i 禁止显示空闲进程或僵尸进程;-n NUM 显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出;-p PID

21、仅监视指定进程的ID;PID是一个数值;-q 不经任何延时就刷新;-s 安全模式运行,禁用一些效互指令;-S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;交互式命令键位:space 立即更新;c 切换到命令名显示,或显示整个命令(包括参数);f,F 增加显示字段,或删除显示字段;h,? 显示有关安全模式及累积模式的帮助信息;k 提示输入要杀死的进程ID,目的是用来杀死该进程(默人信号为15)i 禁止空闲进程和僵尸进程;l 切换到显法负载平均值和正常运行的时间等信息;m 切换到内存信息,并以内存占用大小排序;n 提示显示的进程数,比如输入3,就在整屏上显示3个进程;o,O 改变显示

22、字段的顺序;r 把renice 应用到一个进程,提示输入PID和renice的值;s 改变两次刷新时间间隔,以秒为单位;t 切换到显示进程和CPU状态的信息;A 按进程生命大小进行排序,最新进程显示在最前;M 按内存占用大小排序,由大到小;N 以进程ID大小排序,由大到小;P 按CPU占用情况排序,由大到小S 切换到累积时间模式;T 按时间累积时间对任务排序;W 把当前的配置写到/.toprc中;top 应用举例rootlocalhost # top然后根据前面所说交互命令按个尝试一下就明白了,比如按M,就按内存占用大小排序;这个例子举不举都没有必要了。呵。当然您可以把top的输出传到一个文件

23、中;rootlocalhost # top mytop.txt然后我们就可以查看mytop文件,以慢慢的分析系统进程状态;进程的优先级:nice和renice在Linux 操作系统中,进程之间是竟争资源(比如CPU和内存的占用)关系。这个竟争优劣是通过一个数值来实现的,也就是谦让度。高谦让度表示进程优化级别最低。负值或0表示对高优点级,对其它进程不谦让,也就是拥有优先占用系统资源的权利。谦让度的值从 20到19。目前硬件技术发展极速,在大多情况下,不必设置进程的优先级,除非在进程失控而疯狂占用资源的情况下,我们有可能来设置一下优先级,但我个人感觉没有太大的必要,在迫不得已的情况下,我们可以杀掉

24、失控进程。nice 可以在创建进程时,为进程指定谦让度的值,进程的优先级的值是父进程SHELL的优先级的值与我们所指定谦让度的相加和。所以我们在用nice设置程序的优先级时,所指定数值是一个增量,并不是优先级的绝对值;nice 的应用举例:rootlocalhost # nice -n 5 gaim & 注:运行gaim程序,并为它指定谦让度增量为5;所以nice的最常用的应用就是:nice -n 谦让度的增量值 程序renice 是通过进程ID(PID)来改变谦让度,进而达到更改进程的优先级。renice 谦让度 PIDrenice 所设置的谦让度就是进程的绝对值;看下面的例子;rootlo

25、calhost # ps lax |grep gaim4 0 4437 3419 10 -5 120924 20492 - S pts/0 0:01 gaim0 0 4530 3419 10 -5 5160 708 - R+ pts/0 0:00 grep gaimrootlocalhost # renice -6 44374437: old priority -5, new priority -6rootlocalhost # ps lax |grep gaim4 0 4437 3419 14 -6 120924 20492 - S pts/0 0:01 gaim0 0 4534 3419 11 -5 5160 708 - R+ pts/0 0:00 grep gaim

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1