Я пытался запустить JAVA-приложение как услуга. Я использовал это пружинное руководство платформы После соединения нескольких сценариев из других источников, я закончил с чем-то как ниже:
# 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
Теперь сценарий выше работы, сервис запускается, но когда я пытался проверить, что он запускает приложение с javaappuser
использование PS, я получаю несколько выполнений процессов, которые довольно сбивают с толку.
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
Теперь я не уверен, как ли это, предполагается, ведет себя тот путь, или я определенно делаю что-то не так
Доброжелательная справка и заранее спасибо