openas2.d 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #!/bin/bash
  2. ### BEGIN INIT INFO
  3. # Provides: openas2.d
  4. # Required-Start:
  5. # Required-Stop:
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Startup script to launch OpenAS2 application as a daemon
  9. # Description: This script can be used in any NIX based system that implements the init.d mechanism
  10. # The EXECUTABLE variable below must be set to point to the OpenAS2 startup script
  11. # See the OpenAS2HowTo.pdf for details on configuration checks for this mode of running OpenAS2
  12. ### END INIT INFO
  13. BASE_DIR=/usr/local/edi/OpenAS2
  14. SERVICE_NAME=OpenAS2
  15. EXECUTABLE=$BASE_DIR/bin/start-openas2.sh
  16. export PID_FILE=$BASE_DIR/bin/OpenAS2.pid
  17. THIS_SCRIPT_NAME=`basename $0`
  18. THIS_SCRIPT_EXEC=$0
  19. if [ "$THIS_SCRIPT_NAME" = "$0" ]; then
  20. THIS_SCRIPT_EXEC="/etc/init.d/$0"
  21. fi
  22. PID=""
  23. PID_FILE=$BASE_DIR/bin/OpenAS2.pid
  24. #PID=$(ps -ef | grep java | grep org.openas2.app.OpenAS2Server | awk '{print $2}')
  25. if [ -f $PID_FILE ]; then
  26. PID=`cat $PID_FILE`
  27. fi
  28. if [ ! -z $PID ]; then
  29. x=$(ps -p $PID 2>/dev/null)
  30. if [ "$?" = 1 ]; then
  31. PID=""
  32. echo "" > $PID_FILE
  33. fi
  34. fi
  35. case "$1" in
  36. start)
  37. echo "Starting $SERVICE_NAME ..."
  38. if [ -z $PID ]; then
  39. export OPENAS2_AS_DAEMON=true
  40. $EXECUTABLE
  41. RETVAL="$?"
  42. if [ "$RETVAL" = 0 ]; then
  43. echo "$SERVICE_NAME started ..."
  44. exit 0
  45. else
  46. echo "ERROR $SERVICE_NAME could not be started. Review logs"
  47. exit 1
  48. fi
  49. else
  50. echo "$SERVICE_NAME is already running ..."
  51. fi
  52. ;;
  53. stop|kill)
  54. if [ ! -z $PID ]; then
  55. echo "Attempting to stop $SERVICE_NAME..."
  56. kill $PID
  57. if [ "$?" = 0 ]; then
  58. echo "" > $PID_FILE
  59. echo "$SERVICE_NAME terminated ..."
  60. exit 0
  61. else
  62. echo "ERROR: $SERVICE_NAME failed to terminate. try force-stop"
  63. exit 1
  64. fi
  65. else
  66. echo "$SERVICE_NAME is not running ..."
  67. exit 0
  68. fi
  69. ;;
  70. force-stop)
  71. if [ ! -z $PID ]; then
  72. echo "Attempting to force termination of $SERVICE_NAME..."
  73. kill -9 $PID
  74. if [ "$?" = 0 ]; then
  75. echo "" > $PID_FILE
  76. echo "$SERVICE_NAME terminated ..."
  77. exit 0
  78. else
  79. echo "ERROR: $SERVICE_NAME failed to terminate. "
  80. exit 1
  81. fi
  82. else
  83. echo "$SERVICE_NAME is not running ..."
  84. exit 0
  85. fi
  86. ;;
  87. status)
  88. if [ -z $PID ]; then
  89. echo "$SERVICE_NAME is not running"
  90. else
  91. echo "$SERVICE_NAME is running"
  92. fi
  93. ;;
  94. force-reload|restart|reload)
  95. $THIS_SCRIPT_EXEC stop
  96. if [ ! -z $PID ]; then
  97. CNT=0
  98. while ps -p $PID 2>/dev/null; do
  99. sleep 1;CNT=$CNT+1;
  100. CNT=$((CNT+1)); if [ $CNT -ge 5 ]; then break; fi
  101. done
  102. if ps -p $PID 2>/dev/null; then
  103. echo "ERROR: Failed to stop $SERVICE_NAME"
  104. exit 1
  105. else
  106. echo "" > $PID_FILE
  107. PID=""
  108. fi
  109. fi
  110. $THIS_SCRIPT_EXEC start
  111. ;;
  112. *)
  113. echo "Usage: $0 {status|start|stop|kill|force-stop|restart|reload|force-reload}"
  114. exit 1
  115. ;;
  116. esac