Слишком быстрый повтор запроса на запуск и статус = 203 / EXEC - PullRequest
1 голос
/ 01 мая 2019

Я создал файлы crsupp.service и cloudradio.sh и пытался запустить мой диск-бот, созданный в NodeJS.

Когда я набрал systemctl start crsupp, а затем systemctl status crsupp, я получил это:

● crsupp.service - CRBeta
   Loaded: loaded (/etc/systemd/system/crsupp.service; disabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since Wed 2019-05-01 13:48:08 UTC; 293ms ago
  Process: 27479 ExecStart=/home/justwolf/crsupp/cloudradio.sh (code=exited, status=203/EXEC)
 Main PID: 27479 (code=exited, status=203/EXEC)

May 01 13:48:08 Nara systemd[1]: crsupp.service: Service hold-off time over, scheduling restart.
May 01 13:48:08 Nara systemd[1]: Stopped CRBeta.
May 01 13:48:08 Nara systemd[1]: crsupp.service: Start request repeated too quickly.
May 01 13:48:08 Nara systemd[1]: Failed to start CRBeta.
May 01 13:48:08 Nara systemd[1]: crsupp.service: Unit entered failed state.
May 01 13:48:08 Nara systemd[1]: crsupp.service: Failed with result 'start-limit-hit'.

crsupp.service:

[Unit]
Description=CRSupp

[Service]
Environment=NODE_ENV=production
User=root
WorkingDirectory=/home/justwolf/crsupp
ExecStart=cloudradio.sh
Restart=always

[Install]
WantedBy=default.target

cloudradio.sh:

#!/usr/bin/env node
node index.js

1 Ответ

0 голосов
/ 01 мая 2019

Проблема перезапуска - это проблема systemd, которую можно исправить, увеличив интервал перезапуска. Эта проблема уже была устранена в другой вопрос .

Что касается вашего кода, то мне может показаться, что вы написали скрипт bash для Node, но на самом деле не добавили туда действительный код Node. Если все, что вы хотите сделать с сервисом, это запустить скрипт Node, то вы можете сделать это прямо из сервиса

ExecStart=/path/to/node ./index.js
...