下面以查看nginx进程为例:

pstree -a | grep nginx|grep -v "grep"|wc -l

-a参数是展开子进程,grep -v "grep" 是去掉结果中带有grep的这一行

ps -C nginx --no-header|wc -l

-C参数后面跟进程的CMD名称,--no-header参数是不在第一行输出标题头

ps -A | grep nginx|wc -l

-A参数是输出所有进程

实例:

[root@izbp13shnvge59adyfjcy9z ~]# pstree -a | grep nginx|grep -v "grep"|wc -l
4
[root@izbp13shnvge59adyfjcy9z ~]# ps -C nginx --no-header|wc -l
4
[root@izbp13shnvge59adyfjcy9z ~]# ps -A | grep nginx|wc -l
4

如何查看nginx的主进程号:

ps -eaf|grep "nginx: master"|grep -v "grep"|awk '{print $2}'

其实方法很多,就看你怎么去思考了,在维护系统中要掌握好几个常用的工具:find sed awk sort ,这些工具经常能带来意想不到的效果。

注意:如果是查看线程的数量,就必须使用pstree -a命令了,有的程序是以线程运行的,比如apache即可以工作在进程(perfork)模式下也可以工作在线程(worker)模式下