Fedora 13 init.dスクリプト、停止できません
質問
Java Cli Proccessを実行すると思われるinit.dスクリプトを書きました。
問題は、私がそれを停止すると、[失敗]になり、Proccessがまだ実行されていることです。
ありがとう
#!/usr/bin/env bash
#
# chkconfig: 345 97 03
#
# processname: quotes-srv
#
#
# source function library
. /etc/rc.d/init.d/functions
NAME=quotes-srv
start() {
echo -n $"Starting $NAME: "
daemon +19 java -Dlog4j.configuration="file:/opt/quotes/properties/log4j/log4j.properties" -Dproperties_folder="/opt/quotes/properties/app/" -jar /opt/quotes/trade-0.0.1-SNAPSHOT-jar-with-dependencies.jar &
touch /var/lock/subsys/$NAME
}
stop() {
echo -n $"Stopping $NAME: "
killproc $NAME
echo
rm -f /var/lock/subsys/$NAME
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
restart
;;
condrestart|try-restart)
[ -f /var/lock/subsys/$NAME ] && restart
;;
status)
status $NAME
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
exit 1
esac
exit 0
解決
KillProcは、$ nameに一致するプロセスリストのプログラムを終了します
厳密に言えば、これはあなたの場合です ジャワ .
それが唯一のJavaプロセスである場合、あなたは行くことができますjavaを$ nameに入れることができます
他のJavaサービスを実行している場合、Javaプロセスを停止する別の方法を見つける必要があります。たとえば、/var/lock/subsys/$ nameファイルにpidを配置し、pidを使用してプロセスを殺します。
少なくともDebianには、これに役立つ素晴らしいツールがありますが、Redhatのために存在するかどうかはわかりません。
所属していません StackOverflow