快速业务通道

初探Linux进程管理机制

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-02
D为1的init进程的后代,内核在系统启动的阶段启动init进程,因而,这个进程是linux下所有进程的父进程,用PPID表示父进程.
下面是通过ps命令输出的sendmail进程信息:
[root@localhost ~]# ps -ef|grep sendmail
UID PID PPID C STIME TTY TIME CMD
root 3614 1 0 Oct23 ? 00:00:00 sendmail: accepting connections
相对于父进程,就存在子进程,一般每个进程都有一个父进程,父进程与子进程之间是管理与被管理的关系,当父进程停止时,子进程也随之消失,但是子进程关闭,父进程不一定终止.
如果父进程在子进程退出之前就退出,那么所有子进程就变成的一个孤儿进程,如果没有相应的处理机制的话,这些孤儿进程就会一直处于僵死状态,资源无法释放,此时解决的办法是在启动的进程内找一个进程作为这些孤儿进程的父进程,或者直接让init进程作为它们的父进程,进而释放孤儿进程占用的资源.

二、 进程的监控与管理
Linux下,监控和管理进程的命令有很多,下面我们以ps、top、pstree、lsof四个最常用的指令介绍如果有效的监控和管理linux下的各种进程.

2.1 利用ps命令监控系统进程

Empire CMS,phome.net

ps是linux下最常用的进程监控命令,关于ps命令的语法和使用选项,我们在第四章已经有了详细的讲解,这里重点讲述如何利用ps指令监控和管理系统进程.
请看下面的示例:
下面是apache进程的输出信息
[root@localhost ~]#ps -ef | grep httpd
UID PID PPID C STIME TTY TIME CMD
nobody 7272 26037 0 Nov06 ? 00:00:00 /apache2/bin/httpd -k start
nobody 7274 26037 0 Nov06 ? 00:00:00 /apache2/bin/httpd -k start
nobody 7400 26037 0 Nov06 ? 00:00:00 /apache2/bin/httpd -k start
nobody 7508 26037 0 00:09 ? 00:00:00 /apache2/bin/httpd -k start
nobody 7513 26037 0 00:09 ? 00:00:00 /apache2/bin/httpd -k start
nobody 7515 26037 0 00:09 ? 00:00:00 /apache2/bin/httpd -k start
nobody 11998 26037 0 11:14 ? 00:00:00 /apache2/bin/httpd -k start
nobody 12941 26037 0 16:25 ? 00:00:00 /apache2/bin/httpd -k start
nobody 12979 26037 0 16:44 ? 00:00:00 /apache2/bin/httpd -k start
root 26037 1 0 Oct23 ? 00:00:00 /apache2/bin/httpd -k start
其中,UID是用户的ID标识号,PID是进程的标识号,PPID表示父进程,STIME表示进程的启动时间,TTY表示进程所属的终端控制台,TIME表示进程启动后累计使用的CPU总时间,CMD表示正在执行的命令.
从中可以清楚的看出,父进程和子进程的对应关系, PPID为26037的所有进程均为子进程,而PID为26037的进程是所有子进程的父进程,子进程由nobody用户启动,而父进程由root用户启动,父进程对应的PPID为1,即父进程同时为init进程的子进程.
其实也可以通过下面的指令方式查看子进程与父进程的对应关系,请看如下操作:
[root@localhost ~]# ps auxf | grep httpd
Empire CMS,phome.net

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 26037 0.0 0.1 6316 2884 ? Ss Oct23 0:00 /apache2/bin/httpd -k start
nobody 7272 0.0 0.1 7016 3740 ? S Nov06 0:00 _ /apache2/bin/httpd -k start
nobody 7274 0.0 0.1 7016 3704 ? S Nov06 0:00 _ /apache2/bin/httpd -k start
nobody 7400 0.0 0.1 7012

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号