У меня есть служба с именем MyService
, которая должна автоматически запускать процесс NodeJS, только если "Настроено!" можно найти внутри файла конфигурации. Файл MyService.service
содержит в разделе Service
следующее:
ExecStart=/usr/bin/sh -c "if grep -q 'Configured!' /path/to/configuration/file.conf; then /usr/bin/node /path/to/node/process.js; fi"
Однако проблема в том, что процесс NodeJS не запускается автоматически. Фактически, когда я смотрю в journalctl
, я вижу следующее сообщение об ошибке:
Путь в условии не абсолютный, игнорируя: "/path/to/configuration/file.conf"
Как мне изменить ExecStart
для успешного автоматического запуска процесса NodeJS при выполнении условия? Это очень озадачивает, потому что когда я запускаю команду ExecStart
в командной строке работает корректно. Кроме того, путь к файлу конфигурации является абсолютным.
(Также обратите внимание, что, поскольку на этом компьютере работает старая версия systemd, я не могу использовать ExecCondition
.)