编程日志 | nohup.net

实践是检验真理的唯一标准

Linux的ps命令根据cmd查找进程并统计数

最近学了一个很不错的命令,再也不用grep二次查找了。

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


[root@ok ok]# ps --help|grep C

-A all processes                      -C by command name

-V,V  show version      L  list format codes  f  ASCII art forest

-w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy

#-C 命令的名子


[root@xxxx tools]# ps -C nginx --no-header

 1832 ?        00:00:00 nginx

11151 ?        00:00:02 nginx

11152 ?        00:00:01 nginx

11153 ?        00:00:01 nginx

11154 ?        00:00:02 nginx

[root@xxxx tools]# ps -C nginx 

  PID TTY          TIME CMD #--no-header 省去了title这一行

 1832 ?        00:00:00 nginx

11151 ?        00:00:02 nginx

11152 ?        00:00:01 nginx

11153 ?        00:00:01 nginx

11154 ?        00:00:02 nginx


eg:

#!/bin/bash
#检测nginx是否启动了
A=`ps -C nginx --no-header |wc -l`        
if [ $A -eq 0 ];then    #如果nginx没有启动就启动nginx                        
     /usr/local/nginx/sbin/nginx                #重启nginx
     if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #nginx重启失败,则停掉keepalived服务,进行VIP转移
             killall keepalived                    
     fi
fi


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.2

© 2013-2022 nohup.net , All Rights Reserved. 豫ICP备20020372号-1