LINUX.ORG.RU

Автозагрузка скрипта Python3 не происходит по перезагрузке системы

 ,


0

1

Имею Ubuntu Core 15 на плате NanoPI Neo. Есть два питон3 скрипта, первый получает вводимую конфигурацию с большой машины по сетевому интерфейсу,второй в зависимости от конфигурации опрашивает устройства. В ручном старте оба скрипта работают. Однако при попытке сделать автозагрузку этих двух скриптов, запускается только тот,что отвечает за конфигурацию,скрипт опроса не стартует. Оба скрипта лежат в одной папке домашнего пользователя. Используют почти одинаковые библиотеки. Как я пытался выполнить автозагрузку скриптов: 1)Создал файл local.autostart в нем добавил содержимое:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          local.autostart
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: loca
### END INIT INFO
python3 home/fa/mainprog/mainconf.py
python3 home/fa/mainprog/mainprog.py
Стартует только mainconf 2)Создал sh файл progstart.sh со следующим содержимым:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          progstart
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      1 0 6
# Short-Description: simple description.
### END INIT INFO
/usr/bin/python3.4 /home/fa/mainprog/mainprog.py
#/usr/bin/python3.4 /home/fa/mainprog/mainconf.py
тут пробовал запускать только скрипт mainprog и делал команду update-rc.d progstart.sh defaults 95, которая проходит без ошибок или ворнингов. У всех скриптов есть права на исполнение. Однако,что в конфигурации с 2 скриптами,что в конфигурации с 1 скриптом, автоматическая загрузка не происходит, при том,что ручной запуск ,производит нормальный старт скрипта. Вопрос почему может не происходить запуск на вид рабочего Питон3 скрипта в автоматическом режиме?

Ответ на: комментарий от anonymous

спасибо,подобный синтаксис так же пробовал. Можно переформулировать вопрос. Есть Python3 скрипт ,который в ручном режиме работает корректно(или видится корректным), однако при попытке вызвать его в автозагрузке, не стартует, те Соло автозапуск так же не работает Пробовал через команду progstart.sh #!/bin/sh /usr/bin/python3.4 /home/fa/mainprog/mainprog.py

denis-evs
() автор топика
Ответ на: комментарий от mahalaka

Спасибо Требует установки дополнительного пакета и наличия сети или ручной установки с поиском зависимостей. да и весь его функционал не требуется. Буду рассматривать в самом крайнем варианте. Здесь же необходимо просто запускать 2 скрипта, при старте системы.

denis-evs
() автор топика
Ответ на: комментарий от denis-evs

Автозапуск скрипта какие-нибудь логи реализует? И, если нет, то почему?

Вангую отсутствие при «автозапуске» каких-то переменных окружения, используемых в скрипте.

dhameoelin ★★★★★
()
Ответ на: комментарий от denis-evs

Тебе по-хорошему надо сделать инит-скрипт для каждой твоей программы. А supervisord вполне удобная штука, и не тяжёлая, и логи можешь выдрать спокойно, а не так как ты щас паришься. :-)

mahalaka ★★
()
Ответ на: комментарий от dhameoelin

Я не опытный пользователь Ubuntu. Поэтому не могу сказать как посмотреть логи. По идее приложение должно стартануть в фоне. Условно рабочий скрипт после запуска и входа в одноплатник по ssh по команде ps -ela виден в процессах, нерабочий соответственно невиден. Упоминание про отсутствующие переменные окружения я уже видел, но как проверить чего ему не хватает я не знаю.

denis-evs
() автор топика
Ответ на: комментарий от mahalaka

А есть ли способ указать,что этот скрипт грузить в самую-самую последнюю очередь,когда все необходимое для его работы уже загружено?

denis-evs
() автор топика
Ответ на: комментарий от denis-evs

Тебе прямо в init-скрипте надо сделать перенаправление вывода в файл. Питон, емнип, спокойно выплюнет в этот файл нужное для отладки.

dhameoelin ★★★★★
()
Ответ на: комментарий от dhameoelin
# Required-Start:    $local_fs
# Required-Stop:     $local_f

замена local_fs на $all является знаком,что ему требуется все для запуска?

denis-evs
() автор топика
Ответ на: комментарий от denis-evs

Я не помню наизусть мануалы. Можешь принудительно порядок запуска задать.

dhameoelin ★★★★★
()
Ответ на: комментарий от denis-evs

который в ручном режиме работает корректно

можно проверить с закрытыми дескрипторами ( ./script <&- >&-)

anonymous
()

воссоздай окружение скрипту этому. гугли по лору на тему python3 и cron. недавно было

bvn13 ★★★★★
()

Для таких дел я считаю что лучше использовать supervisord.

mikuhatsune
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.