2017-02-06 5 views
3

Я создал сценарий bash внутри /etc/init.d на raspbian jessie - pixel. Сценарий выглядит следующим образом:Сценарий Bash не выполняется, как ожидалось, при загрузке системы

auto_announce

#! /bin/bash 
#/etc/init.d/auto_announce 

### BEGIN INIT INFO 
# Provides:   auto_announce 
# Required-Start: $remote_fs $syslog 
# Required-Stop:  $remote_fs $syslog 
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: Start daemon at boot time 
# Description:  Enable service provided by daemon. 
### END INIT INFO 


amixer cset numid=3 1 
(cd /home/pi/vehicle_anouncement_system/ && forever start app.js) && (python /home/pi/vehicle_anouncement_system/simulation.py) 

Что мне нужно сделать, это:

  1. начало вечно на app.js: forever start app.js

  2. После навсегда запускается, запускает скрипт python simulation.py: python simulation.py

Проблема заключается в том навсегда начинает успешно но сценарий питон не работает.

Когда я запускаю вышеуказанный скрипт в терминале, используя ./auto_announce, сценарий отлично работает. Но он не работает отлично при загрузке системы.

Что мне не хватает? Есть ли способ зарегистрировать вывод вышеупомянутого скрипта, чтобы узнать, что вызывает проблему?

Спасибо.

+1

Да, есть способы входа в систему. Например. добавив некоторое перенаправление в скрипт. Но если вы используете systemd, я бы рекомендовал написать службу вместо этого, и вы должны получить много материала бесплатно, например. Ведение журнала. – Biffen

ответ

1

Возможно, forever start app.js требуется, чтобы выполнить его, поэтому поставьте немного сна перед выполнением python /home/pi/vehicle_anouncement_system/simulation.py. т. Е. Попробуйте (cd /home/pi/vehicle_anouncement_system/ && forever start app.js) && (sleep 20) && (python /home/pi/vehicle_anouncement_system/simulation.py)

+0

Это работает для запуска, но почему это работает без сна, когда я напрямую запускаю терминал. –

 Смежные вопросы

  • Нет связанных вопросов^_^