Ubuntu 16.04 - работайте с приложением x86_64

У меня очень (казалось бы) простой вопрос, как сохранить приложение x86_64 «живым» на сервере Ubuntu. Первоначально и благодаря огромным усилиям (я очень неопытен в Ubuntu / Linux), я смог запустить его при запуске, однако приложение все равно время от времени «умирает».

Я попытался превратить приложение в службу, например, так:

[Unit]
Description=runs the mmo
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/root/mmo/MMO.x86_64
Restart=on-failure

[Install]
WantedBy=multi-user.target

и загрузил его через ftp в «/ etc / systemd / system» на моем сервере и установил разрешения для 777, однако загруженный мною файл (значок) выглядит иначе, чем другие файлы .service, поэтому я думаю, что сделал что-то не так

ссылка на скриншот файла на сервере

(это похоже на текстовый документ, в то время как другие выглядят как ярлыки на папки, хотя я также назвал свой .service)

Что я делаю не так? заранее спасибо

root @ server1: ~ # systemctl status mmo * mmo.service - запускает mmo Loaded: error (Причина: недопустимый аргумент) Active: сбой (Result: signal) с Чт 2018-01-04 02:48:53 UTC; 2 дня назад Основной PID: 757 (код = убит, сигнал = KILL)

Янв 06 13:44:41 server1.nwg.website systemd 1 : mmo.service: служба перезапускается Предупреждение: журнал был повернут с момента запуска устройства. Вывод журнала состоит из неполных строк 1-7 / 7 (END) * mmo.service - запускает mmo Loaded: error (Причина: недопустимый аргумент) Active: сбой (Result: signal) с Чт 2018-01-04 02:48:53 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ; 2 дня назад Основной PID: 757 (код = убит, сигнал = KILL)

РЕДАКТИРОВАТЬ / прогресс: Теперь можно запустить службу (подробнее в длинных комментариях ниже), однако когда Я пытаюсь добавить «Restart = on-fail», он выдает ошибку, когда жалуется на перезапуск службы - я пытался изменить ее на простой, но это не помогло - что мне делать?

0
задан 6 January 2018 в 23:36

1 ответ

Ваши шаги были правильными до сих пор. Я бы порекомендовал установить разрешения на 644, так как служебный файл не должен быть исполняемым.
Вы также должны запустить systemctl daemon-reload, чтобы получить новый файл .service. Если вы вносите изменения в этот файл, вы должны выполнить эту команду, чтобы также получить изменения.

Чтобы перезапустить службу, вы можете добавить опцию Restart в раздел [Service].

...
[Service]
...
Restart=on-failure
...

Вы также можете добавить опцию следующим образом, чтобы контролировать интервал между попытками перезапуска. По умолчанию, кажется, 100ms.

RestartSec=

Подробнее см. В man systemd.service.

0
ответ дан 6 January 2018 в 23:36
  • 1
    Почему это не сделано доступным в центре программного обеспечения Ubuntu? – DUKE 2 June 2012 в 15:16
  • 2
    Почему это не сделано доступным в центре программного обеспечения Ubuntu? – DUKE 2 June 2012 в 15:16

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

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