Как запустить программу при загрузке Raspberry Pi

Как запустить программу при загрузке Raspberry Pi

Руководство: Как запустить программу при загрузке

Возможность автоматического запуска программы при включении Raspberry Pi может быть очень полезной. Существует несколько способов запуска команды при старте системы, но в этом руководстве мы создадим скрипт в каталоге etc/init.d, чтобы при загрузке системы программа автоматически запускалась, а при выключении — автоматически останавливалась.

Для целей данного руководства мы покажем метод для произвольной программы, созданной на Python — example.py — с расположением /home/pi/example.py. Приведенный ниже код будет работать для любого скрипта, просто замените example на имя вашей программы, а /home/pi/example.py — на фактический путь к вашему скрипту.

Создание скрипта init.d

Сначала нам нужно создать скрипт в каталоге /etc/init.d/. Введите следующую команду в терминале, но замените example на имя вашей собственной программы:

sudo nano /etc/init.d/example

Откроется текстовый редактор. Вставьте следующий код и замените имя и расположение программы на свои. Части, которые нужно изменить, выделены жирным:

#! /bin/sh
#/etc/init.d/example

### BEGIN INIT INFO
# Provides:          example
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start a program from boot
# Description:       A simple script  which will start a program from boot and stop upon shut-down
### END INIT INFO

# Put any commands you always want to run here.

case "$1" in
start)
echo "Starting example"
# run the program you want to start
/home/pi/example.py
;;
stop)
echo "Stopping example"
# end the program you want to stop
killall example.py
;;
*)
echo "Usage: /etc/init.d/example {start|stop}"
exit 1
;;
esac

Настройка и регистрация скрипта

После того как вы скопировали приведенный выше код и заменили имена на свои, выйдите из редактора и сохраните файл с помощью Ctrl+X.

Далее нужно сделать программу исполняемой:

sudo chmod +x /etc/init.d/example

Проверьте, что программа работает корректно из etc/init.d/example, выполнив тестовый запуск:

sudo /etc/init.d/example start

И аналогично выполните тестовую остановку программы:

sudo /etc/init.d/example stop

Далее нам нужно зарегистрировать программу в системе, чтобы она знала, что нужно запускать/останавливать программу при загрузке/выключении.

sudo update-rc.d example default

Вот и все! Теперь вы можете перезагрузить ваш Raspberry Pi, и программа „example“ должна запуститься автоматически.

Удаление программы из автозагрузки

Если вы когда-нибудь захотите убрать программу из автозагрузки, введите следующую команду:

sudo update-rc.d -f example remove