Preciso de ajuda para entender meu script de serviço que inicia vários processos quando executado

1

Estou tentando executar um aplicativo java como um serviço. Usei o guia este framework da primavera Depois de juntar alguns scripts de diferentes fontes , Acabei com algo como abaixo:

# INIT Script
######################################
# Written by Juan Carlos Gonzalez.
# Modified by Joseph Kodjo-Kuma


# Name of app ( codingpains, chopent we, etc )
APP=gs-spring

# Name of the user to run as
USER=javaappuser

# Location of application's details
JAR_FULL_PATH=/home/vagrant/gs-spring-boot-0.1.0.jar
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"
PID_PATH_NAME=/tmp/gs-spring-app.pid

case "$1" in

  start)
    echo "Starting $APP !!!"
    if [ ! -f $PID_PATH_NAME ]; then
            /bin/su - $USER -c "export JAVA_HOME=$JAVA_HOME"
            /bin/su - $USER -c "/usr/bin/nohup java -server -Xms64m -Xmx128m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled -jar $JAR_FULL_PATH /tmp 2>> /dev/null >> /dev/null" & 
            echo $! > $PID_PATH_NAME
            echo "$APP started !!!"
    else
            echo "$APP is already running !!!"
    fi
;;

stop)
    if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME);
            echo "Stopping $APP !!!"
            rm $PID_PATH_NAME
            kill $PID
            echo "$APP stopped successfully !!!"
            #rm $PID_PATH_NAME
    else
            echo "$APP is not running !!!"
    fi
;;

restart)
    $0 stop
    sleep 5
    $0 start
;;
*)
    echo "Usage: /etc/init.d/$APP {start|restart|stop}"
    exit 1
;;
esac

exit 0

Agora, o script acima funciona, o serviço é iniciado, mas quando tentei verificar se ele está executando o aplicativo com javaappuser using ps, recebo vários processos em execução, o que é meio confuso.

vagrant@vagrant:~$ ps aux | grep java
root      2350  0.0  0.7  52544  3620 pts/0    S    09:19   0:00 /bin/su - javaappuser -c /usr/bin/nohup java -server -Xms64m -Xmx128m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled -jar /home/vagrant/gs-spring-boot-0.1.0.jar /tmp 2>> /dev/null >> /dev/null
javaapp+  2351  0.0  0.6  23344  3192 ?        Ss   09:19   0:00 -su -c /usr/bin/nohup java -server -Xms64m -Xmx128m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled -jar /home/vagrant/gs-spring-boot-0.1.0.jar /tmp 2>> /dev/null >> /dev/null
javaapp+  2352 94.3 25.8 2051872 129308 ?      Sl   09:19   0:02 java -server -Xms64m -Xmx128m -XX:MaxPermSize=128m -XX:+CMSClassUnloadingEnabled -jar /home/vagrant/gs-spring-boot-0.1.0.jar /tmp
vagrant   2365  0.0  0.4  16572  2320 pts/0    S+   09:19   0:00 grep --color=auto java

Agora não tenho certeza se é para se comportar dessa maneira ou se estou definitivamente fazendo algo errado

Por favor, ajude e obrigado antecipadamente

    
por black sensei 22.07.2017 / 11:39

0 respostas