monitor_guiagent

monitor_guiagent.sh

  1. #!/usr/bin/env bash
  2. #filename : monitor_guiagent.sh
  3. #Usage: /usr/bin/nohup /var/hgans/gui/ans_php_env/monitor_guiagent.sh >/dev/null 2>/dev/null &
  4.  
  5. #
  6. # Append the following command to the rc.local for running monitor_guiagent.sh :
  7. # /bin/ps -waux | /usr/bin/grep "monitor_guiagent" | /usr/bin/grep -v grep | /usr/bin/awk '{print $2}' | /usr/bin/xargs /bin/kill -9
  8. # /bin/ps -waux | /usr/bin/grep "/var/hgans/gui/agent" | /usr/bin/grep -v grep | /usr/bin/awk '{print $2}' | /usr/bin/xargs /bin/kill -9
  9. # /usr/bin/nohup /var/hgans/gui/ans_php_env/monitor_guiagent.sh >/dev/null 2>/dev/null &
  10. #
  11.  
  12. PS="/bin/ps"
  13. KILL="/bin/kill"
  14. GREP="/usr/bin/grep"
  15. AWK="/usr/bin/awk"
  16. WC="/usr/bin/wc"
  17. TAIL="/usr/bin/tail"
  18. HEAD="/usr/bin/head"
  19. XARGS="/usr/bin/xargs"
  20. ANSCLI="/hgans/anscli"
  21. DATE_EXEC="/bin/date"
  22.  
  23. ANSLOG_FILE="/var/anslog/ans.log"
  24. USER_NAME="%%:ansroot:."
  25. SHOW_SYS_SESSION="show system session -summary"
  26. KILL_ALL_SYS_SESSION="kill system session -all"
  27. KILL_SID_SYS_SESSION="kill system session "
  28. CLEAR_SYS_SESSION_FLAG_FILE="/flash/anscfg/.clear_sys_session"
  29. MAX_SYS_SESSION=12
  30.  
  31. GUI_HOME="/var/hgans/gui"
  32. HTTPD_DIR="ans_php_env"
  33. RC_CONF_NAME="rc.conf"
  34. RC_LOCAL_NAME="rc.local"
  35. AGENT_DIR="agent"
  36. ANSRAPI_EXEC_NAME="ansrapi_agent"
  37. HGCLOUD_EXEC_NAME="hgcloud_proxy"
  38. MANS_EXEC_NAME="mans_log"
  39. NOTIFYLOG_EXEC_NAME="NotifyLog"
  40. KILL_SIGNAL_NUMBER=9
  41. SLEEP_SECOND_NUMBER=3
  42.  
  43. while true
  44. do
  45. arr_exec=($ANSRAPI_EXEC_NAME $HGCLOUD_EXEC_NAME $MANS_EXEC_NAME $NOTIFYLOG_EXEC_NAME)
  46. arr_column=${#arr_exec[@]}
  47. for (( i=0; i < ${arr_column}; i++ ))
  48. do
  49. exec_num=`$PS -waux | $GREP ${arr_exec[$i]} | $GREP -v grep | $WC -l`
  50. if [ $exec_num -eq 0 ]; then
  51. echo monitor_guiagent: `$DATE_EXEC +"%Y-%m-%d %H:%M:%S"`": Restart webgui agent process ${arr_exec[$i]} ..." >> $ANSLOG_FILE
  52. $PS -waux | $GREP ${arr_exec[$i]} | $GREP -v grep | $AWK '{print $2}' | $XARGS $KILL $KILL_SIGNAL_NUMBER
  53. ${GUI_HOME}/${AGENT_DIR}/${arr_exec[$i]} >/dev/null 2>/dev/null &
  54. fi
  55. done
  56.  
  57. current_system_session_line=`$ANSCLI -U $USER_NAME -s "$SHOW_SYS_SESSION" | $WC -l`
  58. current_system_session_num=$((current_system_session_line-3))
  59. if [ -f $CLEAR_SYS_SESSION_FLAG_FILE -a $current_system_session_num -gt $MAX_SYS_SESSION ]; then
  60. arr_sid=(`$ANSCLI -U $USER_NAME -s "$SHOW_SYS_SESSION" | $TAIL -n $current_system_session_num | $AWK '{print $2}'`)
  61. arr_column=${#arr_sid[@]}
  62. for (( i=0; i < ${arr_column}; i++ ))
  63. do
  64. if [ $i -gt 3 ]; then
  65. echo monitor_guiagent: `$DATE_EXEC +"%Y-%m-%d %H:%M:%S"`": Kill system session ${arr_sid[$i]} ..." >> $ANSLOG_FILE
  66. $ANSCLI -U $USER_NAME -s "$KILL_SID_SYS_SESSION ${arr_sid[$i]}"
  67. else
  68. echo monitor_guiagent: `$DATE_EXEC +"%Y-%m-%d %H:%M:%S"`": Keep system session ${arr_sid[$i]} ..." >> $ANSLOG_FILE
  69. fi
  70. done
  71. fi
  72.  
  73. sleep $SLEEP_SECOND_NUMBER
  74. done

rc.local

  1. # This script auto start ansrapi_agent for NewGUI
  2. /bin/ps -waux | /usr/bin/grep "monitor_guiagent" | /usr/bin/grep -v grep | /usr/bin/awk '{print $2}' | /usr/bin/xargs /bin/kill -
  3. /bin/ps -waux | /usr/bin/grep "/var/hgans/gui/agent" | /usr/bin/grep -v grep | /usr/bin/awk '{print $2}' | /usr/bin/xargs /bin/kill -
  4. /usr/bin/nohup /var/hgans/gui/ans_php_env/monitor_guiagent.sh >/dev/null >/dev/null &
  1. root@HGANS# cd /var/hgans/gui/ans_php_env
  2.  
  3. root@HGANS# chmod +x monitor_guiagent.sh
  4.  
  5. root@HGANS# ps -waux | grep agent | grep -v grep
  6.  
  7. root@HGANS# ps -waux | grep agent | grep -v grep | awk '{print $2}'| xargs kill -
  8.  
  9. root@HGANS# ps -waux | grep agent | grep -v grep
  10.  
  11. root@HGANS# /usr/bin/nohup /var/hgans/gui/ans_php_env/monitor_guiagent.sh >/dev/null >/dev/null &
  12.  
  13. root@HGANS# ps -waux | grep agent | grep -v grep

  1. root@HGANS# ps -waux | grep agent | grep -v grep
  2.  
  3. root@HGANS# ps -waux | grep ansrapi_agent | grep -v grep | awk '{print $2}'| xargs kill -
  4.  
  5. root@HGANS# ps -waux | grep agent | grep -v grep

========================== End

monitor_guiagent的更多相关文章

随机推荐

  1. HttpClient&Jsoup爬虫的简单应用

    详细的介绍已经有很多前辈总结,引用一下该篇文章:https://blog.csdn.net/zhuwukai/article/details/78644484 下面是一个代码的示例: package ...

  2. CakePHP 总结

    1. 处理任何保存或获取数据的操作最好都写在模型(Model)中.这个概念通常被称为fat model. 2. 返回上一条插入记录的ID, $this->Example->getInser ...

  3. Linux命令非常全

    最近都在和Linux打交道,感觉还不错.这也是很多人喜欢linux的原因,比较短小但却功能强大.我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构(1) uname ...

  4. Windows系统常用修复命令 无须重装系统

    1.0 netsh int ipv4 reset 2.0 netsh winsock reset winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层 ...

  5. Navicat 导入sql脚本文件

    Navicat 导入sql脚本文件 我在组建自己工作用的数据库时要导入.sql脚本文件,用cmd窗口导入太慢,navicat的导入向导里又无导入sql脚本的选项, 但不是navicat中没有导入sql ...

  6. 初学Direct X (2)

    初学Direct X (2) 这一次要学习如何现实位图,尽管看过对双缓冲机制还有很多疑问,但是这并不阻碍我对他的入门了解 Direct3D提供了一个双重/后台缓冲区,在调用CreateDevice之时 ...

  7. HDU - 6409:没有兄弟的舞会(数学+思维)

    链接:HDU - 6409:没有兄弟的舞会 题意: 题解: 求出最大的 l[i] 的最大值 L 和 r[i] 的最大值 R,那么 h 一定在 [L, R] 中.枚举每一个最大值,那么每一个区间的对于答 ...

  8. 爬虫1.5-ajax数据爬取

    目录 爬虫-ajax数据爬取 1. ajax数据 2. selenium+chromedriver知识准备 3. selenium+chromedriver实战拉勾网爬虫代码 爬虫-ajax数据爬取 ...

  9. 孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块

    孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块 (完整学习过程屏幕记录视频地址在文末) 由于本身tesseract模块针对普通的验证码图片的识别率并不高 ...

  10. centos端口管理

    centos 6.5 ###############配置filter表防火墙############### #清除预设表filter中的所有规则链的规则iptables -F #清除预设表filter ...