La réponse de Xer0FyT est probablement le moyen le plus simple de démarrer automatiquement un programme sur le PI. Mais des problèmes surviennent une fois que le programme démarré se bloque pour une raison quelconque, car il ne sera pas redémarré, car il n'y a pas de surveillance des processus. Personnellement, je recommanderais plutôt d' utiliser daemontools . C'est assez simple à configurer (et est inclus dans Raspbian). Fondamentalement, vous créez un répertoire de service qui contient un run
script shell qui démarre votre programme. daemontools s'assurera alors que votre programme est démarré et redémarré en cas de plantage pour une raison quelconque.
La configuration de daemontools est assez simple. Juste
apt-get install daemontools daemontools-run
Créez ensuite votre répertoire de service contenant un script d'exécution exécutable:
# 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
Jetez-y un œil /service/my-service/run
et modifiez-le pour qu'il démarre votre propre programme au lieu de s'exécuter echo
. Une fois cela fait, créez un lien symbolique vers ce répertoire /etc/service
afin que daemontools le (re) démarre automatiquement:
cd /etc/service
ln -s /service/my-service .
Après environ 5 secondes, votre programme devrait s'exécuter. Vous pouvez le démarrer / l'arrêter en utilisant
# stop it
$ svc -d /service/my-service
# start it
$ svc -u /service/my-service
Il est également possible de se connecter (par exemple) à syslog. Ainsi, la sortie de votre programme ne se perd pas. J'ai écrit un article de blog plus complet à ce sujet ici: https://info-beamer.com/blog/running-info-beamer-in-production
sudo
enrc.local
soi. Il est exécuté avec des privilèges root au démarrage. Assurez-vous de faire attention à la partie concernant l'utilisation, à&
moins que votre programme ne fasse quelque chose rapidement puis se ferme.