play2アプリケーションの起動スクリプトを作成しようとしていますが、バックグラウンドタスクとして機能させることができません。私はドキュメントから始めて、以下のスクリプトを思いつきました。
脚本:
#! /bin/sh
# description: Starts autocomplete play app using daemon
# 1. Go to $APPLICATION_PATH and prepare for dev by doing: play clean compile stage
# This will create a start script at target/start
# 2. Start the application by running this script
. /etc/rc.d/init.d/functions
PLAY_HOME=/opt/play
PLAY=$PLAY_HOME/play
NAME=autocomplete
DESC="autocomplete application"
PID_FILE=/var/run/autocomplete/$NAME.pid
# Path to the JVM
JAVA_HOME=/usr/java/latest
export JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
APPLICATION_PATH=/opt/playapps/autocomplete
DAEMON_OPTS="-Dconfig.file=/opt/playapps/autocomplete/conf/application-dev.conf"
start()
{
echo -n "Starting $DESC with: --pidfile $PID_FILE ${APPLICATION_PATH}/target/start $DAEMON_OPTS"
daemon --pidfile $PID_FILE "${APPLICATION_PATH}/target/start $DAEMON_OPTS"
}
stop()
{
echo -n $"Stopping $DESC:"
#NOT DONE YET
}
case "$1" in
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL
私はこの問題をグーグルで検索し、このような解決策を見つけましたが、 Red Hat Enterprise Linux Serverリリース5.6(Tikanga) distにはないstart-stop-daemonを使用して います。可能であれば、これを機能させるために他のソフトウェアをインストールしたくありません。これをバックグラウンドタスクとして機能させ、コンソールから切り離すために何を見逃しましたか?CTRL + Dは機能せず、CTRL+Cはプロセスを終了します。