Linux进程管理机制概述
2.2 利用pstree监控系统进程 pstree命令以树形结构显示程序和进程之间的关系,使用格式如下: pstree [-acnpu] [<PID>/<user>] 选项含义如下: -a 显示启动每个进程对应的完整指令,包含启动进程的路径、参数等等。 -c 不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。 -n 根据进程PID号来排序输出,默认是以程序名称排序输出的。 -p 显示进程的PID。 -u 显示进程对应的用户名称。 PID:即进程对应的PID号,或者叫进程识别号。 user:系统用户名。 pstree清楚的显示了程序和进程之间的关系,如果不指定进程的PID号,或者不指定用户名称,则将以init进程为根进程,显示系统的所有程序和进程信息,若指定用户或PID,则将以用户或PID为根进程,显示用户或PID对应的所有程序和进程。 举例如下: 如果想知道某个用户下都启动了哪些进程的话,pstree指令可以很容易实现,下面显示mysql用户下对应的进程信息,执行如下命令: [root@localhost ~]# pstree mysql mysqld---6*[{mysqld}] 该输出显示了mysql用户下对应的进程为mysqld,并且mysqld进程拥有5个子进程(5个子进程加一个父进程,共6个进程)。 为了更详细的了解每个进程的信息,例如每个子进程和父进程对应的PID,执行如下命令: [root@localhost ~]# pstree -c -p mysql mysqld(18785)-+-{mysqld}(18787) |-{mysqld}(18788) |-{mysqld}(18789) |-{mysqld}(18790) |-{mysqld}(18791) `-{mysqld}(29625) 通过“-p、-c”参数,清楚的显示了父进程和子进程,以及它们各种的PID。 如果知道进程对应的PID,想得到进程是由哪个用户启动的,可以执行如下命令: [root@localhost ~]# pstree -u 26037 httpd---10*[httpd(nobody)] 从上面可知,httpd进程是由nobody用户启动的。 如果要查看httpd父进程和每个子进程分别对应的PID,可以执行如下命令组合: [root@localhost ~]# pstree -u -p 26037 httpd(26037)-+-httpd(24562,nobody) |-httpd(24563,nobody) |-httpd(24566,nobody) |-httpd(24567,nobody) |-httpd(24631,nobody) |-httpd(24648,nobody) |-httpd(24650,nobody) |-httpd(24654,nobody) |-httpd(26156,nobody) `-httpd(29014,nobody) 如果要得到启动httpd进程的程序路径、参数组合,执行如下命令: [root@localhost ~]# pstree -a -u -p 26037 httpd,26037 -k start |-httpd,24563,nobody -k start |-httpd,24566,nobody -k start |-httpd,24567,nobody -k start |-httpd,24631,nobody -k start |-httpd,24648,nobody -k start |-httpd,24650,nobody -k start |-httpd,24654,nobody -k start |-httpd,26156,nobody -k start `-httpd,29014,nobody -k start (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |