- suponiendo que está utilizando el paquete de "jugar dist", se puede crear un simple script de init.d alrededor de ella. Algo así como:
/etc/init.d/play.myplayapp
#! /bin/sh
### BEGIN INIT INFO
# Provides: play
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description:
# Description:
### END INIT INFO
APP="myplayapp"
APP_PATH="/opt/play/$APP"
start() {
$APP_PATH/start &
}
stop() {
kill `cat $APP_PATH/RUNNING_PID`
}
case "$1" in
start)
echo "Starting $APP"
start
echo "$APP started."
;;
stop)
echo "Stopping $APP"
stop
echo "$APP stopped."
;;
restart)
echo "Restarting $APP."
stop
sleep 2
start
echo "$APP restarted."
;;
*)
N=/etc/init.d/play.$APP
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
2. En realidad, no tienen una única distribución de archivos de proyectos. Lo mejor que puedes hacer es ejecutar "play dist" para generar un paquete distribuible. Incluso si se distribuyera en un solo archivo, probablemente se extraería al sistema de archivos en tiempo de ejecución solo por eficiencia (cómo se manejan los archivos war).
de FatJar no se expanden en tiempo de ejecución. Estaba buscando una opción para construir un fatJar. – sheki
Esta secuencia de comandos funcionaría la mayoría de las veces, pero por el extraño momento en que 'kill' fallaría. Podría estar en mal estado entonces. El archivo PID desapareció y la aplicación aún se está ejecutando. – sheki