Служба не запускается при загрузке машины - Ubuntu 14.04.1 LTS
Я создал Weblogic сервер как service начать при загрузке машины, создав файл weblogic внутри директории /etc/init.d/ с содержанием ниже:
#!/bin/sh
. /etc/default/weblogic
start() {
nohup ${WLSHOME}/server/bin/startNodeManager.sh && ${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
for i in $SERVERS; do
${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py &
done
}
stop() {
${DOMAINPATH}/bin/stopWebLogic.sh -username ${USER} -password ${PASSWORD}
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
и другой файл с таким же именем (weblogic) внутри каталога /etc/default/ с содержанием следующим образом:
# /etc/default/weblogic script used to configure the init script
WLSHOME="/opt/weblogic/wlserver_10.3"
DOMAINPATH="/opt/weblogic/projects/test"
# Username password for stopping
USER="weblogic"
PASSWORD="weblogic1"
# Servers to start
SERVERS="wlserver-1 wlserver-2 "
ADMINSERVER="AdminServer"
Когда я запускаю команду sudo service weblogic start, сервер запускается, но при перезапуске машины weblogic service не запускается.
Затем я следил за этим и этими вопросами, чтобы он работал, но ни один из них не работает для меня.
PS: работает команда sudo update-rc.d weblogic defaults, дает мне вывод:
update-rc.d: warning: /etc/init.d/weblogic missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
System start/stop links for /etc/init.d/weblogic already exist.
Любая идея, как я могу сделать сервис weblogic для запуска при загрузке машины?
Спасибо, любая помощь будет оценена.
1 ответ
Наконец, я нашел ответ на проблему и подумал о том, чтобы поделиться ею с будущими читателями, проблема в том, что в блоке start используется команда nohup:
start() {
nohup ${WLSHOME}/server/bin/startNodeManager.sh && ${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
for i in $SERVERS; do
${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py &
done
}
Во время перезагрузки компьютера nohup игнорируется при создании сценария NodeManager. not to run as a background process который я вижу в /var/log/boot.log файл:
nohup: ignoring input and appending output to 'nohup.out'
Таким образом, настройка стартового блока для использования амперсанда (&) для running the NodeManager script in background instead of nohup работал, как следует:
start() {
${WLSHOME}/server/bin/startNodeManager.sh &
${WLSHOME}/common/bin/wlst.sh /opt/nmstart-${ADMINSERVER}.py
for i in $SERVERS; do
${WLSHOME}/common/bin/wlst.sh /opt/start-"$i".py
done
}