- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.2 进程管理 对于Linux进程的管理,是通过进程管理工具实现 的,比如ps、kill、pgrep、pstree等工具 6.2.1 ps 监视进程工具 ps 的参数说明; 获得线程信息: ps -eLf ps axms 获得进程树: ps -ejH ps axjf l 长格式输出; u 按用户名和启动时间的顺序来显示进程; j 用任务格式来显示进程; f 用树形格式来显示进程; a 显示所有用户的所有进程(包括其它用户); x 显示无控制终端的进程; r 显示运行中的进程; 6.2.1 ps aux 或lax输出的解释 USER 进程的属主; PID 进程的ID; PPID 父进程的ID; %CPU 进程占用的CPU百分比; %MEM 占用内存的百分比; NI 进程的NICE值,数值大,表示较少占用CPU时间; VSZ 进程虚拟大小; RSS 驻留中页的数量; TTY 终端ID WCHAN 正在等待的进程资源; START 启动进程的时间; TIME 进程消耗CPU的时间; COMMAND 命令的名称和参数; 6.2.1 ps aux显示的进程状态 STAT 进程状态 D Uninterruptible sleep (usually IO) R 正在运行可中在队列中可过行的; S 处于休眠状态; T 停止或被追踪; W 进入内存交换(从内核2.6开始无效); X 死掉的进程(从来没见过); Z 僵尸进程; 优先级高的进程 N 优先级较低的进程 L 有些页被锁进内存; s 进程的领导者(在它之下有子进程); l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) + 位于后台的进程组; WCHAN 正在等待的进程资源; START 启动进程的时间; TIME 进程消耗CPU的时间; COMMAND 命令的名称和参数。 6.2.2 pgrep pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否 正在运行。 用法:pgrep 参数选项 程序名 常用参数: -l 列出程序名和进程ID;-o 进程起始的ID;-n 进程终止的ID; 举例: [root@localhost ~]# pgrep -l httpd4557 httpd4560 httpd4561 httpd4562 httpd 6.3终止进程的工具 kill 、killall、pkill 终止一个进程,一般是通过 kill 、killall、pkill、xkill 等进行。比如一个程序已经死掉,但又不能退出,这时就应该考虑应用这些工具。 另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如mysql服务器最好是按其正常的程序关闭,而不是用pkill mysqld 或killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill来杀掉。 6.3.1 kill kill一般是和ps 或pgrep 命令结合在一起使用的 kill [信号代码] 进程ID 注:信号代码可以省略(信号代码是15,正常结束);我们 常用的信号代码还有 9,表示强制终止 例: [root@localhost ~]# pgrep -l gaim 5031 gaim [root@localhost ~]# kill -9 5031 6.3.2 killall killall 通过程序的名字,直接杀死所有进程 用法:killall 正在运行的程序名 killall 也和ps或pgrep 结合使用,比较方便 通过ps或pgrep 来查看哪些程序在运行 举例: [root@localhost test]# pgrep -l gaim2979 gaim[root@localhost test]# killall gaim 6.3.3 pkill pkill 和killall 应用方法差不多,也是直接杀死运行中的 程序;如果您想杀掉单个进程,请用kill来杀掉 应用方法:pkill 正在运行的程序名 举例: [root@localhost test]# pgrep -l gaim2979 gaim[root@localhost test]# pkill gaim 6.4 top监视系统任务的工具 和ps 相比,top是动态监视系统
文档评论(0)