Просто должен выполнить их на запуске. Systemd

Ubuntu 19.04 Привет, у меня есть ошибка с systemd, у меня есть файл запуска-server.service, который имеет

[Unit]
Description=LaunchServer
After=network.target

[Service]
WorkingDirectory=/home/aborigen/Launcher/LaunchServer/build/libs
Type=notify
User=aborigenserver
Group=sudo
NotifyAccess=all
Restart=always

ExecStart=/usr/bin/screen -DmS launchserver /usr/java/jdk1.8.0_221/bin/java -Xmx128M -javaagent:LaunchServer.jar -jar LaunchServer.jar
ExecStop=/usr/bin/screen -p 0 -S launchserver -X eval 'stuff "stop"\015'
[Install]
WantedBy=multi-user.target

Алгоритм моих действий следующие:

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo nano launch-server.service

таким образом, создавая этот файл и вставляя параметры выше

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl daemon-reload
  2. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl status launch-server.service и в ответ:

● запуск-server.service - LaunchServer Потерянный Рай
Загруженный: загруженный (/etc/systemd/system/launch-server.service; отключенный; поставщик задал: включенный)
Активный: неактивные (мертвые)

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl enable launch-server.service

Созданная символьная ссылка/etc/systemd/system/multi-user.target.wants/launch-server.service →/etc/systemd/system/launc h-server.service.

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl status launch-server.service

● запуск-server.service - LaunchServer Потерянный Рай
Загруженный: загруженный (/etc/systemd/system/launch-server.service; включенный; поставщик задал: включенный) Активный: неактивные (мертвые)

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl start launch-server.service

Задание для запуска-server.service перестало работать, потому что сервис не предпринял шаги требуемый его конфигурацией единицы. См. "systemctl запуск-server.service состояния" и "journalctl - ксенон" для деталей.

  1. aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl status launch-server.service

aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl запуск-server.service состояния

● launch-server.service - LaunchServer Lost Paradise
   Loaded: loaded (/etc/systemd/system/launch-server.service; enabled; vendor preset: enabled)
   Active: failed (Result: protocol) since Mon 2019-07-29 12:45:50 EEST; 2h 49min ago
 Main PID: 2496 (code=exited, status=0/SUCCESS)

июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Service RestartSec=100ms expired, scheduling restart.
июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Scheduled restart job, restart counter is at 5.
июл 29 12:45:50 aborigenserver systemd[1]: Stopped LaunchServer Lost Paradise.
июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Start request repeated too quickly.
июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Failed with result 'protocol'.
июл 29 12:45:50 aborigenserver systemd[1]: Failed to start LaunchServer Lost Paradise.
aborigen@aborigenserver:/etc/systemd/system$ chmod +x /home/aborigen/Server/start.sh
aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl start start-server.service
aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl reload start-server.service
Failed to reload start-server.service: Job type reload is not applicable for unit start-server.service.
  1. aborigen@aborigenserver:/etc/systemd/system$ journalctl -xe

в конечном счете:

-- Назначен автоматический перезапуск юнита launch-server.service, так как для него был задан
-- параметр Restart=.
июл 29 12:45:50 aborigenserver systemd[1]: Stopped LaunchServer Lost Paradise.
-- Subject: Завершена остановка юнита launch-server.service.
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Процесс остановки юнита launch-server.service был завершен.
июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Start request repeated too quickly.
июл 29 12:45:50 aborigenserver systemd[1]: launch-server.service: Failed with result 'protocol'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit launch-server.service has entered the 'failed' state with result 'protocol'.
июл 29 12:45:50 aborigenserver systemd[1]: Failed to start LaunchServer Lost Paradise.
-- Subject: Ошибка юнита launch-server.service
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Произошел сбой юнита launch-server.service.
--
-- Результат: failed.

Я также имею, запускаются-server.service

[Unit]
Description=Lost Paradise Server
After=network.target
After=launch-server.service
[Service]
WorkingDirectory=/home/aborigen/Server/

User=aborigenserver
Group=sudo

Restart=always

ExecStart=/home/aborigen/Server/start.sh
ExecStop=/usr/bin/screen -p 0 -S ServerAstrey -X eval 'stuff "stop"\015'
[Install]
WantedBy=multi-user.target

который соответственно:

aborigen@aborigenserver:/etc/systemd/system$ sudo systemctl status start-server.service

● start-server.service - Lost Paradise Server
Loaded: loaded (/etc/systemd/system/start-server.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2019-07-29 15:39:26 EEST; 20min ago
Process: 3427 ExecStart=/home/aborigen/Server/start.sh (code=exited, status=1/FAILURE)
Main PID: 3427 (code=exited, status=1/FAILURE)

июл 29 15:39:26 aborigenserver systemd[1]: start-server.service: Service RestartSec=100ms expired, scheduling restart.
июл 29 15:39:26 aborigenserver systemd[1]: start-server.service: Scheduled restart job, restart counter is at 5.
июл 29 15:39:26 aborigenserver systemd[1]: Stopped Lost Paradise Server.
июл 29 15:39:26 aborigenserver systemd[1]: start-server.service: Start request repeated too quickly.
июл 29 15:39:26 aborigenserver systemd[1]: start-server.service: Failed with result 'exit-code'.
июл 29 15:39:26 aborigenserver systemd[1]: Failed to start Lost Paradise Server.

Уже второй день я вытаскиваю волосы из головы. Я просто должен выполнить их на запуске. Справка :)

1
задан 29 July 2019 в 16:36

2 ответа

Сначала перепроверьте, работает ли та же самая команда в терминале. Затем помните, что, если сервис приводит его к сбою иногда, не перезапускает сразу, но иногда ожидает время. Так перезапуск каждых нескольких секунд собирается дать проблему. Если существует слишком много отказов в течение определенного времени, сервис останавливается постоянно.

Все это настроено в разделе Unit и всем этом, что я уверен, что Вы уже знаете. Поэтому я дам Вам пример рабочего раздела Unit, который имеет некоторые неожиданности, если Вы смотрите на него тщательно.

[Unit]
Description=Radmon service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=30
User=marc
ExecStart=/usr/bin/python -u /home/marc/GMC/pyradmon.py
StandardOutput=null
StandardError=inherit

[Install]
WantedBy=multi-user.target

Я уверен, что это поможет. (Подскажите! Секунда =)

0
ответ дан 7 December 2019 в 19:20

Вы имеете Active: failed (Result: protocol) и (code=exited, status=0/SUCCESS), которые предполагают, что Вы выполняете фоновый процесс в systemd исполнительной команде.

Если Вы выполняете Ваш screen команда на консоли, это помещает себя в фон? Это должно объяснить это.

Попытайтесь использовать Type=forking, это должно решить его.

С другой стороны, выполните Ваш screen команда на переднем плане, хотя "присоединение" не могло бы работать как ожидалось, начиная с systemd единицы, работает без терминала, таким образом, экран мог бы перестать работать в этом... Возможно, Type=forking лучший способ состоит в том, чтобы решить этого здесь...

0
ответ дан 7 December 2019 в 19:20

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

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