У меня есть новомодная конфигурация для моего процесса 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
Сервис хорошо работает кроме следующего сценария:
killall java
sudo service myjar stop
<---зависание......Процесс находится в следующем состоянии:
myjar start/killed, process 123
Не может перезапустить его также...
Любая справка ценилась бы.
По словам выскочки руководство ожидают ветвление :
Upstart will expect the process executed to call fork(2) exactly once.
и согласно комментарий 5 в init: задание, застрявшее с, ожидает ветвление/демона, когда родитель будет пожинать ребенка ошибка:
, когда Вы используете, "ожидают, что ветвление" или "ожидает демона", объединенного со "сценарием", Выскочка заканчивает после первого порожденного ребенка, статус выхода которого пожинает оболочка.
В Вашем случае, upstart
, вероятно, следует chdir
изодромный с предварением
Ваш upstart
, сценарий кажется заданием задачи, потому что ни chdir
, ни java
ветвление команды, таким образом, удаляя expect fork
должен устранить проблему.