Прежде всего выясним статус службы, для этого выполним
systemctl status myservice
В выводе нас интересует следующая строка:Loaded: loaded (/path_to/myservice.service; enabled; vendor preset: enabled)
Где loaded - обозначает что юнит проанализирован systemd и загружен в текущую конфигурацию, enabled - автозагрузка сервиса включена, vendor preset: enabled - статус автозагрузки по умолчанию, enabled обозначает, что служба будет автоматически добавлена в автозагрузку при установке пакета.Для того, чтобы включить автозагрузку службы используйте:
systemctl enable myservice
При этом, чтобы два раза не вставать, можно сразу и запустить службу:systemctl enable --now myservice
Для выключения автозагрузки выполните:systemctl disable myservice
Посмотреть полный список служб в системе можно командой:systemctl list-units --type=service
Вывод представляет собой несколько колонок:🔹 UNIT - юнит службы
🔹 LOAD - статус юнита, loaded - загружен в конфигурацию systemd
🔹 ACTIVE - текущий статутс, показывает запущена ли служба
🔹SUB - более низкоуровневое состояние, зависит от типа юнита, так running показывает что служба запущена и работает, а exited - что она выполнила свою задачу и прекратила работу.
☝️ Также существует простой и удобный способ узнать текущий статус службы.
Чтобы проверить запущена ли она, выполните:
systemctl is-active myservice
Включена ли в автозагрузку:systemctl is-enabled myservice
Завершился ли ее запуск ошибкой:systemctl is-failed myservice
👍 Код завершения команды при положительном ответе - 0, что позволяет удобно выяснять состояние служб в скриптах.