#!/sbin/openrc-run # command="poetry" command="/usr/bin/poetry" command_args="run python3 main.py >> /var/log/$RC_SVCNAME.log 2>&1" output_log="/var/log/$RC_SVCNAME.log" # output_log="/root/test_alert/log" # start_stop_daemon_args="--background" pidfile="/run/$RC_SVCNAME.pid" command_background="yes" depend() { need localmount net } start_pre() { ebegin "Starting My Python Service" checkpath -f -o "$command_user":"$command_group" "$output_log" source /root/.cache/pypoetry/virtualenvs/test-alert-rLHD0RVJ-py3.11/bin/activate cd /root/test_alert eend $? }
command_background="yes" - зачем?
Без нее не хочет работать output_log= и после старта сервиса, он висит в основном потоке и блокирует ввод в терминал
Зачем source ? Он не будет работать с openrc
Мне нужно подгружать зависимости poetry
Virtualenv не работает так в openrc
Выкинь нахер это. У тебя редирект идёт stdout
Сейчас попробую ещё раз
#!/sbin/openrc-run command="/usr/bin/poetry" command_args="run python3 /root/test_alert/main.py >> /var/log/$RC_SVCNAME.log 2>&1" output_log="/var/log/$RC_SVCNAME.log" pidfile="/run/$RC_SVCNAME.pid" depend() { need localmount net } start_pre() { checkpath -f -o root:root "$output_log" cd /root/test_alert }
Абсолютные пути используй
alpine:/var/log# cat test_alert.log * start-stop-daemon: --stdout and --stderr are only relevant with --background
Обсуждают сегодня