При запуске пользовательской службы Linux появляется сообщение об ошибке Failed at step EXEC spawning /xxx/yyy/zzz Нет такого файла или каталога

фон:

Я хочу автоматически выполнять скрипт Python при запуске сервера, поэтому я превратил его в службу Linux.

в /etc/systemd/system/myclock.service

[Unit]
Description=my first linux service
[Service]
Type=simple
ExecStart=/data/mytools/python38/bin/python3 /data/myclock.py
[Install]
WantedBy=multi-user.target

После ввода следующей команды:

systemctl daemon-reload
systemctl start myclock.service
systemctl status myclock.service

Выяснилось, что служба не запускалась, и сообщалось об ошибке:

Failed at step EXEC spawning /data/mytools/python38/bin/python3 No such file or directory

Анализ причин: 

Поскольку раздел /data монтируется через nfs, предполагается, что когда systemd запускает службу myclock.service, диск еще не смонтирован, в результате чего файл или каталог не найдены.

Следовательно, необходимо изменить конфигурацию службы myclock.service, чтобы она запускалась после монтирования указанного раздела/данных.

решение:

Добавьте строку RequiresMountsFor=/data/mytools/python38/bin в [Unit]

[Unit]
Description=my first linux service
RequiresMountsFor=/data/mytools/python38/bin
[Service]
Type=simple
ExecStart=/data/mytools/python38/bin/python3 /data/myclock.py
[Install]
WantedBy=multi-user.target

Затем перезагрузитесь и все в порядке:

systemctl daemon-reload
systemctl start myclock.service
systemctl status myclock.service

 ссылка:

linux — Ошибка на шаге создания EXEC: нет такого файла или каталога

Служба systemd запускается после ожидания монтирования nfs — примечания полного стека

Конфигурация системной службы CentOS 7 -- Unit (Unit)_requiresmountsfor_CodingSir's Blog-CSDN Blog

Основы Linux — Обслуживание

Supongo que te gusta

Origin blog.csdn.net/m0_46829545/article/details/130366365
Recomendado
Clasificación