Ubuntu upstart: почему рестарт делает то же самое, что и stop?

Это мой файл выскочки /etc/init/myapp.conf:

description "Example of starting Node with Upstart and Forever"

start on filesystem or runlevel [2345]
stop on runlevel [06]

expect fork

console output

setuid lwood

env HOME=/home/lwood
env LOG="/home/lwood/myapp/applog.log"    

script
  cd $HOME
  exec forever -a -l $LOG \
       start /home/lwood/myapp/app.js
end script

pre-stop script
  cd $HOME
  exec forever stop /home/lwood/myapp/app.js >> $LOG
end script

Знаете ли вы, почему sudo restart myapp только останавливает службу? Служба не запускается после ее остановки. Таким образом, он имеет тот же эффект, что и sudo stop myapp.

Выполнение sudo stop myapp, а затем sudo start myapp работает нормально, хотя. Интересно, почему перезапуск ведет себя иначе.

Я нахожусь на Ubuntu 12.04.

3
задан 23 October 2013 в 23:12

2 ответа

Чтобы расширить ответ xdissent (который работал для меня), вот пример сценария, который вы можете разместить в /etc/init/tomcat-stop.conf. Когда служба tomcat останавливается, этот сценарий запускается и полностью завершает работу Tomcat, прежде чем Upstart перезапускает его.

description "Tomcat Server shutdown script"

setuid tomcat_user
setgid tomcat_group

chdir /usr/local/tomcat

start on stopping tomcat

kill timeout 30
script
    exec bin/catalina.sh stop
end script
0
ответ дан 23 October 2013 в 23:12

Другие вопросы по тегам:

Похожие вопросы: