Запуск процесса в фоновом режиме, как сервис
Фоновый запуск полезен, если вы хотите организовать постоянный доступ извне к службам или панели упр авления на удалённом компьютере.
Создание и управление сервисами
Создание и управление сервисами доступно во всех поддерживаемых платформах.
Для создания работы с сервисами используется команда tuna service или tuna svc.
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
tuna service --help
tuna service install --help
tuna service start --help
tuna service restart --help
tuna service stop --help
tuna service uninstall --help
Создание сервиса
В Windows нужно выполнять команды в PowerShell от имени администратора, в Linux и FreeBSD потребуется sudo или root пользователь. В macOS сервис создаётся под текущим пользователем и привилегии не нужны.
Команда tuna service install указывает, что нужно зарегистрировать новый сервис. Можно создать несколько сервисов с разными именами, передавая имя через флаг --name или переменную окружения TUNA_SERVICE_NAME, по умолчанию tuna. После -- описывается команда которая будет запускаться в сервисе.
tuna service install -- tuna --config=С:\Users\Administrator\AppData\Local\tuna\tuna.yml http 8080 --subdomain=web
В примере выше явно передан полный путь к конфигурационному файлу, это может быть необходимо так как сервис создаётся из под администратора, а файл с токеном находится в профиле текущего пользователя. С большей вероятностью это потребуется в Windows, Linux и FreeBSD и не потребуется в macOS. Также вы можете передать токен явно в аргументах:
tuna service install --name=tuna-web -- tuna http 8080 --subdomain=web --token=<tt_ваш_токен>
Для большей безопасности в Linux, FreeBSD и macOS токен будет вырезан из аргументов запуска и передан как переменная окружения, так что вы не увидите токен в списке процессов.
Так как в Windows, Linux и FreeBSD сервис создаётся от привилегированного пользователя, по умолчанию процесс будет также запущен от него, в целях безопасности не рекомендуется запускать tuna от привилегированного пользователя. Поэтому вы можете указать явно пользователя от имени которого будет запускаться процесс с помощью флага --userили переменную окружения TUNA_SERVICE_INSTALL_USER. В Windows также может потребоваться передать и пароль пользователя с помощью флага --passwordили переменную окружения TUNA_SERVICE_INSTALL_PASSWORD.
tuna service install --user=ubuntu -- tuna http 8080 --subdomain=web --token=<tt_ваш_токен>
Запуск сервиса
Запуск осуществляется командой tuna service start.
Пример с передачей имени:
tuna service start --name=tuna-web