Відповідь Xer0FyT - це, мабуть, найпростіший спосіб автоматичного запуску програми на PI. Але проблеми виникають, коли запущена програма збивається з будь-якої причини, оскільки вона не буде перезапущена, оскільки немає моніторингу процесів. Я особисто рекомендував би замість цього використовувати daemontools . Це досить просто в налаштуванні (і входить до програми Raspbian). В основному ви створюєте службовий каталог, який містить run
сценарій оболонки, який запускає вашу програму. Далі dantontools переконається, що програма запущена та перезапущена, якщо вона збивається з будь-якої причини.
Встановити демомонтоли досить просто. Просто
apt-get install daemontools daemontools-run
Потім створіть службу каталогу, що містить виконуваний сценарій запуску:
# create the service directory
mkdir -p /service/my-service
# create the run script
cat > /service/my-service/run <<EOF
#!/bin/sh
echo "I'm an example service executed by daemontools"
sleep 1
# Replace those 2 lines with a real call to your program like this:
# exec /my/program.py --arguments
EOF
# make it executable
chmod 755 /service/my-service/run
Погляньте /service/my-service/run
та відредагуйте його, щоб він запустив власну програму замість запуску echo
. Як тільки це буде зроблено, символізуйте цей каталог у /etc/service
так, щоб daemontools автоматично (пере) запускав його:
cd /etc/service
ln -s /service/my-service .
Приблизно через 5 секунд ваша програма повинна запуститися. Ви можете запустити / зупинити його за допомогою
# stop it
$ svc -d /service/my-service
# start it
$ svc -u /service/my-service
Можна також увійти в (наприклад) syslog. Таким чином, результат вашої програми не втрачається. Я написав більш повну публікацію про це тут: https://info-beamer.com/blog/running-info-beamer-in-production
sudo
вrc.local
собі. Він запускається з привілеями root під час завантаження. Не забудьте звернути увагу на частину використання,&
якщо ваша програма просто щось не зробить, а потім вийде.