ipfcst-server.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/sh
  2. export basedir=/home/syjy/ipfcstV3
  3. export bindir=$basedir/produce
  4. export start_external_log=$basedir/logs/start_external.log
  5. export external_version="1.0.0"
  6. export external_path=$bindir/external/$external_version
  7. export service_startup_timeout=900
  8. log_success_msg() {
  9. echo " SUCCESS! $@"
  10. }
  11. log_failure_msg() {
  12. echo " ERROR! $@"
  13. }
  14. case "$1" in
  15. external-start)
  16. cd $external_path
  17. echo $echo_n "Starting External"
  18. if test -x $external_path/ipfcst-external.jar
  19. then
  20. java -jar $external_path/ipfcst-external.jar >$start_external_log &
  21. echo $echo_n "External started, PID is $!"
  22. else
  23. log_failure_msg "Couldn't find External server($external_path/ipfcst-external.jar)"
  24. fi
  25. ;;
  26. external-stop)
  27. echo $echo_n "Shutting down External"
  28. pid_list="$(ps aux | grep ipfcst-external | grep -v grep | awk '{print $2}')"
  29. if test -z $pid_list ; then
  30. echo "External is not running"
  31. else
  32. for pid in $pid_list;
  33. do
  34. if kill -0 "$pid" 2>/dev/null; then
  35. echo "kill pid $pid"
  36. kill -9 $pid
  37. fi
  38. done
  39. fi
  40. ;;
  41. external-restart)
  42. if ./$0 external-stop ; then
  43. ./$0 external-start
  44. else
  45. log_failure_msg "Failed to stop running server, so refusing to try to start."
  46. exit 1
  47. fi
  48. ;;
  49. external-status)
  50. pid_list="$(ps aux | grep ipfcst-external | grep -v grep | awk '{print $2}')"
  51. pid_count=`echo $pid_list | wc -w`
  52. if test $pid_count -eq 1 ; then
  53. echo "External running, pid is $pid_list"
  54. exit 0
  55. elif test $pid_count -gt 1 ; then
  56. echo "Multiple External running $pid_list"
  57. exit 1
  58. elif test -z $pid_list ; then
  59. echo "External is not running"
  60. exit 1
  61. fi
  62. ;;
  63. *)
  64. # usage
  65. basename=`basename "$0"`
  66. echo "Usage: $basename {console-start|console-stop|console-restart|console-status|reportquery-start|reportquery-stop|reportquery-restart|reportquery-status|external-start|external-stop|external-restart|external-status} [ ipfcst server options ]"
  67. exit 1
  68. ;;
  69. esac
  70. exit 0