Я создал скрипт в init.d
/etc/init.d/startSanic
#!/bin/bash
cd /opt/horses
./startSanic.sh &
startSanic
с разрешениями 777
startSanic.sh с разрешениями 755
Я намеренно создал два сценария, потому что только если я запущу сценарий вручную с помощью &
, он запустится и не будет уничтожен, если я закрою сеанс.
Я создал ссылку в rc5.d (мой уровень запуска 5, но я создал также для rc2,3,4)
S97startSanic -> ../init.d/startSanic
Мой сервис всегда запускается на порту 9000. Если я проверю после перезагрузки сервера, он не запускается с этим скриптом в init.d. В чем может быть проблема?
Мой скрипт /opt/horses/startSanic.sh использует ТОЛЬКО две строки:
#!/bin/bash
gunicorn horses.server:app --bind 0.0.0.0:9000 --worker-class sanic.worker.GunicornWorker --reload
Спасибо!!!!!!
init.d
— это не простые bash-скрипты. Они должны реализовать интерфейс. - person   schedule 02.04.2019systemd
предпочтительнее. Вот руководство о том, как запускать скрипт bash в качестве службы при запуске. Дайте мне знать, если у вас есть какие-либо вопросы по этому поводу. - person   schedule 02.04.2019systemd
. - person   schedule 02.04.2019