Для того, чтобы иметь возможность запустить мое приложение во время загрузки, я следовал инструкции Upstart.
Я создал файл /etc/init/poolparty.conf
, в котором я определил следующее:
# poolparty - poolparty job file
# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
respawn
# Essentially lets upstart know the process will detach itself to the background
expect fork
# Run before process
pre-start script
[ -d /var/run/poolparty ] || mkdir -p /var/run/poolparty
echo "starting Poolparty"
end script
# Start the process
exec /opt/poolparty/bin/poolparty start
Это приложение, которое требует запуска сети, запуска многопользовательского режима. В любом случае, все, что нужно машине, чтобы начать сначала, должно быть там. Его можно запустить в конце процесса загрузки.
Однако, когда я перезагружаюсь, ничего не происходит.
Что еще мне нужно сделать, чтобы начать? Кто-то может помочь?
Когда я печатаю service poolparty start
, я либо получаю, что служба уже запущена, либо ничего. В любом случае это не работает, я проверил это.
Так что, если бы кто-нибудь мог направить меня сюда, было бы здорово. Я также хотел бы проверить журнал.
Кстати, /opt/poolparty/bin/poolparty
это исполняемый скрипт, который устанавливает вещи и вызывает Java-приложение. Он использует jsvc64 для запуска Java-приложения на основе Tomcat.
Поскольку Вы говорите, что это требует сети, и Вы создаете новый каталог, таким образом, этому нужна локальная файловая система также .so, необходимо использовать
start on (local-filesystems and net-device-up IFACE!=lo)
или
start on (local-filesystem and started networking)
вместо
start on runlevel [2345]
и можно попробовать
if [ ! -e /var/run/poolparty ]; then
/bin/mkdir /var/run/poolparty
fi
вместо
[ -d /var/run/poolparty ] || mkdir -p /var/run/poolparty
echo "starting Poolparty"
предложение: посмотрите, что выскочка регистрируется под /var/log/upstart
это поможет Вам, где Вы отсутствуете. и также проверьте синтаксическую ошибку init команды использования сценария:
init-checkconf -d /etc/init/poolparty.conf
и для лучшего понимания новомодного сценария посмотрите Выскочку поваренная книга Ubuntu