Хорошо, я сделаю это быстро. Я разрабатываю клиент-серверное приложение с сервером Ubuntu 17.04 в качестве сервера.
Код просто связывает некоторые сокеты и непрерывно прослушивает клиентские запросы и создает потоки для каждого запроса.
Проблема заключается в том, что , что я не могу получить .jar для запуска при загрузке системы. Я проверяю это, проверяя открытые порты и ни один из портов, которые я закодировал, когда-либо слушал при загрузке.
Я пробовал следующие
Запуск приложений - не работал [ ! d4]
Systemd - сценарий .sh отлично работает, когда я запускаю его nornally, запускает jar и порты открываются, но при загрузке ничего не происходит. Использование sudo service bla bla bla start также отлично работает с приложением. Это не будет работать при загрузке
Указанная цель - graphical.target, и устройство запускается AFTER mysql.service
Использование init.d - происходит дерьмо гнезда
Я нахожусь в своем уме, что делать. Пожалуйста, помогите, спасибо.
Простой способ предоставляется пакетом 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 и поваренную книгу с выскочкой.
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
Чтобы узнать больше, перейдите по этой ссылке
Простой способ предоставляется пакетом 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 и поваренную книгу с выскочкой.
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
Чтобы узнать больше, перейдите по этой ссылке