Сценарий, вызываемый в rc.local, запускает только вторую команду, а не первую

Отредактируйте файл конфигурации /etc/ufw/ufw.conf от имени root и установите ENABLED=yes:

# /etc/ufw/ufw.conf
#

# Set to yes to start on boot. If setting this remotely, be sure to add a rule
# to allow your remote connection before starting ufw. Eg: 'ufw allow 22/tcp'
ENABLED=yes

# Please use the 'ufw' command to set the loglevel. Eg: 'ufw logging medium'.
# See 'man ufw' for details.
LOGLEVEL=low
3
12.05.2017, 12:05
1 ответ

Я предполагаю, что fcserver работает демонизированным - т.е. отключается от работающей оболочки, а ваша загрузочная программа - нет.

Что происходит, когда ваш скрипт запускается init, так это то, что он порождает новую оболочку (/bin/sh в вашем случае), запускает загрузку и fcserver в фоновом режиме в этой оболочке,... и затем уничтожает эту оболочку. , который неявно отправляет HUP всем дочерним процессам. Fcserver выживает, потому что он демонизирован, а загрузка — нет.

Вы можете попробовать добавить к вызову загрузки префикс nohup:

#! /bin/sh

nohup /home/pi/sketchbook/leds/loading/application.linux64/loading &
/usr/local/bin/fcserver &

Я не уверен, доступен ли nohup на вашем Raspberry Pi — мне нечего проверять.

2
27.01.2020, 21:25

Теги

Похожие вопросы