Выскочка - обрабатывающий остановку, когда процесс уничтожается

У меня есть новомодная конфигурация для моего процесса Java:

/etc/init/myjar.conf

description "my jar"
author "me"

start on runlevel [2345]
stop on shutdown

expect fork

script
    chdir /opt/myjar/
    java -jar myjar.jar >/var/log/myjar/myjar.log 2>&1
end script

post-start script
    emit myjar-local_running
end script

Сервис хорошо работает кроме следующего сценария:

  1. процесс уничтожается снаружи, т.е.: killall java
  2. попытка остановить сервис: sudo service myjar stop <---зависание......

Процесс находится в следующем состоянии:

myjar start/killed, process 123

Не может перезапустить его также...

Любая справка ценилась бы.

0
задан 29 October 2014 в 03:52

1 ответ

По словам выскочки руководство ожидают ветвление :

   Upstart will expect the process executed to call fork(2) exactly once.

и согласно комментарий 5 в init: задание, застрявшее с, ожидает ветвление/демона, когда родитель будет пожинать ребенка ошибка:

, когда Вы используете, "ожидают, что ветвление" или "ожидает демона", объединенного со "сценарием", Выскочка заканчивает после первого порожденного ребенка, статус выхода которого пожинает оболочка.

В Вашем случае, upstart, вероятно, следует chdir изодромный с предварением

Ваш upstart, сценарий кажется заданием задачи, потому что ни chdir, ни java ветвление команды, таким образом, удаляя expect fork должен устранить проблему.

3
ответ дан 6 October 2019 в 22:01

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

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