Я пытаюсь написать systemd
сервис для Jekyll
, следуя этому примеру. Вот мой фактический код:
[Unit]
Description=Jekyll service
After=syslog.target network.target
[Service]
User=mark
Type=simple
WorkingDirectory=/srv/dev-disk-by-label-data/home/mark/blog/
ExecStart=/usr/local/rvm/gems/ruby-2.6.0/bin/jekyll serve --host=0.0.0.0 --watch --source "/srv/dev-disk-by-label-data/home/mark/blog"
ExecStop=/usr/bin/pkill -f jekyll
Restart=always
TimeoutStartSec=60
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=jekyll
[Install]
WantedBy=multi-user.target network-online.target
Включение и запуск службы приводит к этому состоянию:
● jekyll.service - Jekyll service
Loaded: loaded (/etc/systemd/system/jekyll.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Sun 2020-01-12 11:02:33 CET; 3s ago
Process: 25586 ExecStart=/usr/local/rvm/gems/ruby-2.6.0/bin/jekyll serve --host=0.0.0.0 --watch --source /srv/dev-disk-by-label-data/home/mark/blog (code=exited, status=127)
Main PID: 25586 (code=exited, status=127)
Но если я вручную введу точно такую же команду:
$ /usr/local/rvm/gems/ruby-2.6.0/bin/jekyll serve --host=0.0.0.0 --watch --source /srv/dev-disk-by-label-data/home/mark/blog
работает нормально. Насколько я знаю, код 127
обычно используется для «команда не найдена». Но это кажется правильным, учитывая, что он работает нормально вручную.