
У меня это очень просто systemd
.
[Unit]
Description="Something"
[Service]
Type=simple
ExecStart=/bin/systemctl restart nginx
Когда я пытаюсь запустить его с помощью systemctl start my-script.service
, и запрашиваю его с помощью systemctl status my-script.service
, он показывает статус Loaded
, и это будет продолжаться вечно.
У меня такое чувство, что проблема в том, что я хочу использовать systemctl
изнутри systemd
.
решение1
systemctl status
будет сообщено "Loaded" для вашей службы, поскольку она действительно загружена в systemd в этот момент. Я не уверен, чего еще вы ожидали. Я попробовал запустить вашу службу сам, и она сработала, как и ожидалось, выполнив перезапуск службы Nginx:
$ journalctl | tail -10
Apr 27 12:39:28 myhost.com systemd[1]: Started "Something".
Apr 27 12:39:28 myhost.com systemd[1]: Stopping A high performance web server and a reverse proxy server...
Apr 27 12:39:28 myhost.com systemd[1]: Stopped A high performance web server and a reverse proxy server.
Apr 27 12:39:28 myhost.com systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 27 12:39:28 myhost.com systemd[1]: Started A high performance web server and a reverse proxy server.
Если ваш файл службы systemd не работает должным образом, пожалуйста, конкретизируйте свой вопрос.