Systemd отправляет сигнал выхода на обслуживание при запуске

Это моя служба systemd на ubuntu 16.04:

[Unit] Description=Starts Caspar CG [Service] Type=forking WorkingDirectory=/home/broadcastingza/CasparCG/Server Environment=DISPLAY=:0 ExecStart=/bin/sh ./run.sh --watch StandardOutput=null Restart=on-failure [Install] WantedBy=multi-user.target graphical.target 

EDIT: это результат состояния sudo systemctl -l

 sudo systemctl status start-caspar.service -l ● start-caspar.service - Starts Caspar CG Loaded: loaded (/etc/systemd/system/start-caspar.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2017-03-21 17:04:28 SAST; 1 day 16h ago Process: 5198 ExecStart=/bin/bash -c ./run.sh --watch (code=exited, status=0/SUCCESS) Mar 21 17:04:14 ZAPS001 systemd[1]: Starting Starts Caspar CG... Mar 21 17:04:28 ZAPS001 systemd[1]: Started Starts Caspar CG. 

Эта служба активируется и работает нормально. Нет проблем с запуском вручную. Единственная проблема, с которой я столкнулась, заключается в том, что, как только запускается сценарий оболочки («run.sh»), сервер, который он запускает, затем получает сигнал EXIT и выходит с кодом EXIT 0. Почти так, как будто серверу требуется консоль должна быть открыта все время.

Когда я запускаю тот же скрипт с консоли, он работает отлично.

Есть ли способ запустить сервис без выхода из консоли сразу, или есть способ запустить службу, не зависимую от консоли, в первую очередь?

One Solution collect form web for “Systemd отправляет сигнал выхода на обслуживание при запуске”

Приношу свои извинения всем. Кажется, это известная проблема в двоичном коде, что я пытаюсь запустить безголовый (casparcg). См. https://github.com/CasparCG/Server/issues/529

Предлагаемое решение – установить экран (или tmux) для запуска терминала в отдельном режиме. У меня есть работа с использованием экрана.

  1. Экран установки:

    sudo apt install screen

  2. Это строка кода для использования в службе systemd после установки:

    screen -d -m /path/to/your/script.sh

-d отделяет терминал, -m игнорирует $ STY.

  1. Отрегулируйте службу systemd соответственно:

    [Unit]
    Description=Starts Caspar CG

    [Service]
    Type=forking
    Environment=DISPLAY=:0
    StandardOutput=null
    ExecStart=/bin/sh -c "screen -d -m /usr/bin/start_caspar.sh" --watch
    Restart=on-failure
    User=broadcastingza

    [Install]
    WantedBy=multi-user.target graphical.target

Теперь я могу запустить сервер отдельно.

Спасибо за помощь!

  • LXC mount CIFS => разрешено отклонение
  • «Ожидание конфигурации сети» при загрузке
  • Окно программы Window, работающей под Wine, по умолчанию не отображается
  • Настройка яркости экрана не работает в Ubuntu 14.04
  • Крайне долгое время для ext4 fsck
  • Не удается подключиться через ssh?
  • Как я могу следить за питанием веб-камер в Linux
  • Как определить, компактен ли диск или стандартный жесткий диск
  • WordPress high Steal время на Linux Ubuntu 16.04.1
  • Обновлен с Ubuntu 14.04 до 15.1, и я заканчиваю работу в командной строке при перезагрузке. Что мне теперь делать?
  • nginx крит-ошибка tlsv1 ответ на плохой сертификат: номер предупреждения SSL 113
  • Interesting Posts

    Почему vim повторно вставляет мою предыдущую вставку при попытке сохранить?

    Возвращать длинное целочисленное значение из функции в ksh

    Как я могу перейти к предыдущему / следующему каталогу?

    Как обрабатывать исключительную страницу при распределении смежных страниц кеша в Linux

    Как настроить раздел «данных», разделяемый несколькими ОС Linux?

    Создание пользователя FTP, который не получает 403 на созданных папках / файлах – Ubuntu

    Как я могу решить MAC знать ipv6 addr w / o ip command?

    mount.cifs vs NFSv3 для данных, разделяемых между двумя веб-серверами

    Что делать, если вы случайно удалите / var / spool / mqueue

    Можем ли мы отключить кнопку максимизации в любом программном обеспечении (gedit или terminal)?

    Где скачать бинарные файлы coreutils?

    Как выйти из выбега при нажатии клавиши?

    Обновить настройки сети из файлов ifcfg- * в openSUSE 13.2

    полное шифрование диска (включая своп, возможно, правдоподобную отрицательность)

    bash: несколько команд на одной строке с другим кодом выхода

    Linux и Unix - лучшая ОС в мире.