Как запустить приложение .jar в качестве службы (запуск при загрузке системы)

Хорошо, я сделаю это быстро. Я разрабатываю клиент-серверное приложение с сервером Ubuntu 17.04 в качестве сервера.

Код просто связывает некоторые сокеты и непрерывно прослушивает клиентские запросы и создает потоки для каждого запроса.

Проблема заключается в том, что , что я не могу получить .jar для запуска при загрузке системы. Я проверяю это, проверяя открытые порты и ни один из портов, которые я закодировал, когда-либо слушал при загрузке.

Я пробовал следующие

Запуск приложений - не работал [ ! d4]

Systemd - сценарий .sh отлично работает, когда я запускаю его nornally, запускает jar и порты открываются, но при загрузке ничего не происходит. Использование sudo service bla bla bla start также отлично работает с приложением. Это не будет работать при загрузке

Указанная цель - graphical.target, и устройство запускается AFTER mysql.service

Использование init.d - происходит дерьмо гнезда

Я нахожусь в своем уме, что делать. Пожалуйста, помогите, спасибо.

1
задан 18 August 2017 в 09:11

4 ответа

Простой способ предоставляется пакетом upstart, после его установки просто сохраните следующий сценарий в etc/init/onshutdown.conf:

# /etc/init/onshutdown.conf start on starting rc RUNLEVEL=2 # execute single command exec /bin/sh /path/to/mystartup.sh # alternatively without an extra script script java -jar /path/to/jarfile.jar # your commands here end script

Замените 2 на ваш предпочтительный уровень (ы) например [2345]). Для получения дополнительной информации о upstart см. Man 5 init и поваренную книгу с выскочкой.

0
ответ дан 18 July 2018 в 08:20

i) Создайте свой скрипт bash под названием mystartup.sh, чтобы запустить .jar-файл в каталоге /etc/init.d/ (login as root)

# vi /etc/init.d/mystartup.sh

ii) Добавить команды в этот скрипт один за другим:

#!/bin/bash echo “Setting up customized environment…” fortune

iii) Устанавливать исполняемое разрешение на скрипт:

# chmod +x /etc/init.d/mystartup.sh

iv) Убедитесь, что этот скрипт выполняется каждый раз, когда система Debian Linux загружается / появляется :

# update-rc.d mystartup.sh defaults 100

Чтобы узнать больше, перейдите по этой ссылке

0
ответ дан 18 July 2018 в 08:20

Простой способ предоставляется пакетом upstart, после его установки просто сохраните следующий сценарий в etc/init/onshutdown.conf:

# /etc/init/onshutdown.conf start on starting rc RUNLEVEL=2 # execute single command exec /bin/sh /path/to/mystartup.sh # alternatively without an extra script script java -jar /path/to/jarfile.jar # your commands here end script

Замените 2 на ваш предпочтительный уровень (ы) например [2345]). Для получения дополнительной информации о upstart см. Man 5 init и поваренную книгу с выскочкой.

0
ответ дан 24 July 2018 в 19:04

i) Создайте свой скрипт bash под названием mystartup.sh, чтобы запустить .jar-файл в каталоге /etc/init.d/ (login as root)

# vi /etc/init.d/mystartup.sh

ii) Добавить команды в этот скрипт один за другим:

#!/bin/bash echo “Setting up customized environment…” fortune

iii) Устанавливать исполняемое разрешение на скрипт:

# chmod +x /etc/init.d/mystartup.sh

iv) Убедитесь, что этот скрипт выполняется каждый раз, когда система Debian Linux загружается / появляется :

# update-rc.d mystartup.sh defaults 100

Чтобы узнать больше, перейдите по этой ссылке

0
ответ дан 24 July 2018 в 19:04

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

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