shell判断程序/服务是否运行

前端之家收集整理的这篇文章主要介绍了shell判断程序/服务是否运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

由于目前多组件的开发模式,导致一个服务可能是由多个组件同时支持的,所以判断这些组件的正常运行就变得比较重要了,之前是根据数据流向,由源头开始判断,命令繁琐,且时间长了,命令也就不记得了。所以想编写一个脚本,进行服务的status判断:

以agent+kafka +tomcat为例:

  1. #!/bin/bash
  2.  
  3. serviceListening(){
  4. command=`netstat -ln|grep $2`
  5. if [ "$command" == "" ]
  6. then
  7. echo -e "\033[31m$1 not started \033[0m"
  8. else
  9. echo "$1 is started"
  10. fi
  11. }
  12.  
  13. serviceStatus(){
  14. command=`ps aux|grep $2 |grep -v "grep"`
  15. if [ "$command" == "" ]
  16. then
  17. echo -e "\033[31m$1 not started \033[0m"
  18. else
  19. echo "$1 is started"
  20. fi
  21.  
  22. }
  23. #listen port
  24. #DB
  25. echo -e "\033[32mDB status\033[0m"
  26. serviceListening MysqL 3306
  27. #Component
  28. echo -e "\033[32mComponent status\033[0m"
  29. serviceListening kakfa 9092
  30. serviceStatus agent appmaster
  31. #web
  32. echo -e "\033[32mWEB status\033[0m"
  33. serviceListening tomcat 80

输出

  1. DB status
  2. MysqL is started
  3. Component status
  4. kakfa is started
  5. agent not started
  6. WEB status
  7. tomcat not started

猜你在找的Bash相关文章