Я Создал этот файл Единицы tdk-api.service
в /etc/systemd/system
папка с этим полномочия: -rwxr-xr-x
с этим содержанием:
[Unit]
Description = tdk API daemon
[Service]
Type = simple
ExecStart = /usr/local/bin/start-tdk-api.sh
ExecStop = /usr/local/bin/stop-tdk-api.sh
ExecReload = /usr/local/bin/reload-tdk-api.sh
[Install]
WantedBy = multi-user.target
Но у меня есть ошибка при запуске:
root@localhost:/etc/systemd/system# sudo systemctl start tdk-api
Failed to start tdk-api.service: Unknown unit: tdk-api.service
See system logs and 'systemctl status tdk-api.service' for details.
root@localhost:/etc/systemd/system# systemctl status tdk-api.service
Failed to get properties: No such interface ''
root@localhost:/etc/systemd/system#
Я также пытался перезагрузить systemd демона, как предложено
systemctl daemon-reload
Я также попробовал:
root@localhost:/etc/systemd/system# systemctl enable tdk-api.service
Configuration file /etc/systemd/system/tdk-api.service is marked executable. Please remove executable permission bits. Proceeding anyway.
Created symlink /etc/systemd/system/multi-user.target.wants/tdk-api.service, pointing to /etc/systemd/system/tdk-api.service.
root@localhost:/etc/systemd/system# sudo systemctl start tdk-api
Failed to start tdk-api.service: Unknown unit: tdk-api.service
See system logs and 'systemctl status tdk-api.service' for details.
root@localhost:/etc/systemd/system# systemctl status tdk-api.service
Failed to get properties: No such interface ''
Ошибка находится в start-tdk-api.sh. Я предполагаю любого, который переменная среды не установлена (как ПУТЬ), или Вы не выполняетесь в каталоге, Вы думаете, что находитесь в.
Можно установить переменные среды в сервисном файле или обновить переменную ПУТИ в сценарии (вероятно, самое легкое).
Можно также установить рабочий каталог для сценария в сервисном файле:
[Service]
WorkingDirectory=/directory/to/run/from