Advertisement
m4ly

WildFly 9.01 init.d

Aug 20th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.62 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # WildFly control script
  4. #
  5. # chkconfig: - 80 20
  6. # description: WildFly startup script
  7. # processname: wildfly
  8. # pidfile: /var/run/wildfly/wildfly.pid
  9. # config: /etc/default/wildfly.conf
  10. #
  11.  
  12. # Source function library.
  13. . /etc/init.d/functions
  14.  
  15. # Load Java configuration.
  16. [ -r /etc/java/java.conf ] && . /etc/java/java.conf
  17. export JAVA_HOME
  18.  
  19. # Load JBoss AS init.d configuration.
  20. if [ -z "$JBOSS_CONF" ]; then
  21.         JBOSS_CONF="/etc/default/wildfly.conf"
  22. fi
  23.  
  24. [ -r "$JBOSS_CONF" ] && . "${JBOSS_CONF}"
  25.  
  26. # Set defaults.
  27.  
  28. if [ -z "$JBOSS_HOME" ]; then
  29.         JBOSS_HOME=/opt/wildfly
  30. fi
  31. export JBOSS_HOME
  32.  
  33. if [ -z "$JBOSS_PIDFILE" ]; then
  34.         JBOSS_PIDFILE=/var/run/wildfly/wildfly.pid
  35. fi
  36. export JBOSS_PIDFILE
  37.  
  38. if [ -z "$JBOSS_CONSOLE_LOG" ]; then
  39.         JBOSS_CONSOLE_LOG=/var/log/wildfly/console.log
  40. fi
  41.  
  42. if [ -z "$STARTUP_WAIT" ]; then
  43.         STARTUP_WAIT=30
  44. fi
  45.  
  46. if [ -z "$SHUTDOWN_WAIT" ]; then
  47.         SHUTDOWN_WAIT=30
  48. fi
  49.  
  50. if [ -z "$JBOSS_LOCKFILE" ]; then
  51.         JBOSS_LOCKFILE=/var/lock/subsys/wildfly
  52. fi
  53.  
  54. # Startup mode of wildfly
  55. if [ -z "$JBOSS_MODE" ]; then
  56.         JBOSS_MODE=standalone
  57. fi
  58.  
  59. # Startup mode script
  60. if [ "$JBOSS_MODE" = "standalone" ]; then
  61.         JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
  62.         if [ -z "$JBOSS_CONFIG" ]; then
  63.                 JBOSS_CONFIG=standalone.xml
  64.         fi
  65. else
  66.         JBOSS_SCRIPT=$JBOSS_HOME/bin/domain.sh
  67.         if [ -z "$JBOSS_DOMAIN_CONFIG" ]; then
  68.                 JBOSS_DOMAIN_CONFIG=domain.xml
  69.         fi
  70.         if [ -z "$JBOSS_HOST_CONFIG" ]; then
  71.                 JBOSS_HOST_CONFIG=host.xml
  72.         fi
  73. fi
  74.  
  75. prog='wildfly'
  76.  
  77. start() {
  78.         echo -n "Starting $prog: "
  79.         if [ -f $JBOSS_PIDFILE ]; then
  80.                 read ppid < $JBOSS_PIDFILE
  81.                 if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
  82.                         echo -n "$prog is already running"
  83.                         failure
  84.         echo
  85.                 return 1
  86.         else
  87.                 rm -f $JBOSS_PIDFILE
  88.         fi
  89.         fi
  90.         mkdir -p $(dirname $JBOSS_CONSOLE_LOG)
  91.         cat /dev/null > $JBOSS_CONSOLE_LOG
  92.  
  93.         mkdir -p $(dirname $JBOSS_PIDFILE)
  94.         chown $JBOSS_USER $(dirname $JBOSS_PIDFILE) || true
  95.  
  96.         if [ ! -z "$JBOSS_USER" ]; then
  97.                 if [ "$JBOSS_MODE" = "standalone" ]; then
  98.                         if [ -r /etc/rc.d/init.d/functions ]; then
  99.                                 daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG $JBOSS_OPTS >> $JBOSS_CONSOLE_LOG 2>&1 &
  100.                         else
  101.                                 su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT -c $JBOSS_CONFIG $JBOSS_OPTS" >> $JBOSS_CONSOLE_LOG 2>&1 &
  102.                         fi
  103.                 else
  104.                         if [ -r /etc/rc.d/init.d/functions ]; then
  105.                                 daemon --user $JBOSS_USER LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG $JBOSS_OPTS >> $JBOSS_CONSOLE_LOG 2>&1 &
  106.                         else
  107.                                 su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG $JBOSS_OPTS" >> $JBOSS_CONSOLE_LOG 2>&1 &
  108.                         fi
  109.                 fi
  110.         fi
  111.  
  112.         count=0
  113.         launched=false
  114.  
  115.         until [ $count -gt $STARTUP_WAIT ]
  116.         do
  117.                 grep 'WFLYSRV0025:' $JBOSS_CONSOLE_LOG > /dev/null
  118.                 if [ $? -eq 0 ] ; then
  119.                         launched=true
  120.                         break
  121.                 fi
  122.                 sleep 1
  123.                 let count=$count+1;
  124.         done
  125.  
  126.         touch $JBOSS_LOCKFILE
  127.         success
  128.         echo
  129.         return 0
  130. }
  131.  
  132. stop() {
  133.         echo -n $"Stopping $prog: "
  134.         count=0;
  135.  
  136.         if [ -f $JBOSS_PIDFILE ]; then
  137.                 read kpid < $JBOSS_PIDFILE
  138.                 let kwait=$SHUTDOWN_WAIT
  139.  
  140.                 # Try issuing SIGTERM
  141.                 kill -15 $kpid
  142.                 until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
  143.                         do
  144.                         sleep 1
  145.                         let count=$count+1;
  146.                 done
  147.  
  148.                 if [ $count -gt $kwait ]; then
  149.                         kill -9 $kpid
  150.                 fi
  151.         fi
  152.         rm -f $JBOSS_PIDFILE
  153.         rm -f $JBOSS_LOCKFILE
  154.         success
  155.         echo
  156. }
  157.  
  158. status() {
  159.         if [ -f $JBOSS_PIDFILE ]; then
  160.                 read ppid < $JBOSS_PIDFILE
  161.                 if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
  162.                         echo "$prog is running (pid $ppid)"
  163.                         return 0
  164.                 else
  165.                         echo "$prog dead but pid file exists"
  166.                         return 1
  167.                 fi
  168.         fi
  169.         echo "$prog is not running"
  170.         return 3
  171. }
  172.  
  173. case "$1" in
  174.         start)
  175.                 start
  176.                 ;;
  177.         stop)
  178.                 stop
  179.                 ;;
  180.         restart)
  181.                 $0 stop
  182.                 $0 start
  183.                 ;;
  184.         status)
  185.                 status
  186.                 ;;
  187.         *)
  188.                 ## If no parameters are given, print which are avaiable.
  189.                 echo "Usage: $0 {start|stop|status|restart|reload}"
  190.                 exit 1
  191.                 ;;
  192. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement