Входная команда в фоновый сервис

В случае Ubuntu 16.10 я установил версию 4.5 для Ubuntu 14.04 и ярлык работает. Я полагаю, что другие версии для Qt4 тоже будут работать.

2
задан 27 May 2018 в 14:32

2 ответа

Использовать файлы шаблонов unitd

Это хороший пример того, как можно использовать шаблоны элементов systemd. Возможно, чтобы служба systemd вызывалась с аргументом и использовала этот аргумент в определении службы для e. г. передайте его программе, которая запущена. Вот пример вашего случая:

Установите ваш аппарат как

/etc/systemd/system/gmod@.service

Измените файл так, чтобы он выглядел следующим образом:

[Unit] Description=Gmod server (map: %I) After=network.target [Service] Type=simple ExecStart=/bin/bash /home/server/Documents/Servers/Gmod/run_gmod.sh %i [Install] WantedBy=multi-user.target DefaultInstance=myDefaultMap

(Возможно, необходимо запустить systemctl daemon-reload в этот момент, чтобы система читала измененный файл). После этого вы сможете запустить gmod с таким аргументом:

systemctl start gmod@myMapName.service

Systemd будет использовать файл шаблона и заменить I% на аргумент и %i с аргументом, указанным в shell, затем запустите его как экземпляр службы с именем gmod@myMapName.service. Вы можете проверить это, запустив

systemctl status gmod@myMapName

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

systemctl enable gmod@

Таким образом, вы даже можете запустить несколько экземпляров gmod, если программа позволяет это. Для дальнейшего чтения по теме проверьте страницу руководства systemd.unit (5).

3
ответ дан 17 July 2018 в 14:17

Использовать файлы шаблонов unitd

Это хороший пример того, как можно использовать шаблоны элементов systemd. Возможно, чтобы служба systemd вызывалась с аргументом и использовала этот аргумент в определении службы для e. г. передайте его программе, которая запущена. Вот пример вашего случая:

Установите ваш аппарат как

/etc/systemd/system/gmod@.service

Измените файл так, чтобы он выглядел следующим образом:

[Unit] Description=Gmod server (map: %I) After=network.target [Service] Type=simple ExecStart=/bin/bash /home/server/Documents/Servers/Gmod/run_gmod.sh %i [Install] WantedBy=multi-user.target DefaultInstance=myDefaultMap

(Возможно, необходимо запустить systemctl daemon-reload в этот момент, чтобы система читала измененный файл). После этого вы сможете запустить gmod с таким аргументом:

systemctl start gmod@myMapName.service

Systemd будет использовать файл шаблона и заменить I% на аргумент и %i с аргументом, указанным в shell, затем запустите его как экземпляр службы с именем gmod@myMapName.service. Вы можете проверить это, запустив

systemctl status gmod@myMapName

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

systemctl enable gmod@

Таким образом, вы даже можете запустить несколько экземпляров gmod, если программа позволяет это. Для дальнейшего чтения по теме проверьте страницу руководства systemd.unit (5).

3
ответ дан 20 July 2018 в 14:21

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

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