smartMonitor.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #! /bin/sh
  2. PROGS="smartPDU snmpd Qt_Test"
  3. RUNDIR=/mnt/UDISK
  4. APPDIR=$RUNDIR/app
  5. WEBDIR=$RUNDIR/web
  6. SNMPDIR=$APPDIR/snmp
  7. start_snmpd()
  8. {
  9. echo "start snmpd"
  10. $SNMPDIR/bin/snmpd -Cc $SNMPDIR/conf/snmpd.conf -Lo &
  11. chmod 777 /var/agentx/master
  12. }
  13. start_pdu()
  14. {
  15. #run smartPDU
  16. #sleep 13
  17. echo "start smartPDU"
  18. /mnt/UDISK/app/smartPDU &
  19. }
  20. start_lcd()
  21. {
  22. echo "start lcd"
  23. $APPDIR/Qt_Test -platform linuxfb:fb=/dev/fb1 &
  24. }
  25. app_start()
  26. {
  27. case "$1" in
  28. smartPDU)
  29. start_pdu
  30. ;;
  31. snmpd)
  32. start_snmpd
  33. ;;
  34. Qt_Test)
  35. start_lcd
  36. ;;
  37. all)
  38. start_snmpd
  39. start_pdu
  40. start_lcd
  41. ;;
  42. *)
  43. exit 1
  44. esac
  45. }
  46. app_stop()
  47. {
  48. case "$1" in
  49. smartPDU)
  50. killall $1
  51. ;;
  52. snmpd)
  53. killall $1
  54. ;;
  55. Qt_Test)
  56. killall $1
  57. ;;
  58. all)
  59. killall snmpd smartPDU Qt_Test
  60. ;;
  61. *)
  62. exit 1
  63. esac
  64. }
  65. while true; do
  66. sleep 3
  67. for n in $PROGS
  68. do
  69. val=`ps | grep $n | grep -v "grep" | awk '{print $1}'`
  70. if [[ "${val}" == "" ]]; then
  71. echo "$n is not running, start it now ..."
  72. # /etc/init.d/S90PDUApp start $n
  73. app_start $n start
  74. fi
  75. done
  76. done