2015-04-28 1 views
2

Итак, у меня есть сценарий Bash, который выполняет кучу вещей, один из них (на самом деле первый) мигает светодиодом на RPi (через Python).Как запустить скрипт Python в фоновом режиме из сценария Bash?

Проблема в том, что когда я запускаю скрипт Python, он блокирует все остальные скрипты и ничего не запускает.

Я думаю, что добавив &, он работает в фоновом режиме, но это не имеет никакого значения, когда я попробовал.

Это то, что у меня есть:

#!/bin/bash 
sudo python /scripts/blink.py blinkRed & 
rm test.txt test.bkp 
... 

Поэтому в основном все останавливается после выполнения сценария blink.py.

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

+0

Кстати, скрипт Python представляет собой бесконечный цикл 'while (1): ...' – matt

+0

, вы используете скрипт как root? –

+0

вы можете изменить первую строку на '#!/Bin/bash -x', чтобы подтвердить, что все работает как ожидается (и опубликует вывод) – WoJ

ответ

2

Если у вас есть все необходимые разрешения, не используйте sudo. Вероятно, он ждет пароля для изменения прав доступа.

Дайте пользователю, который запускает сценарий, все необходимые разрешения и удаляет sudo.