informatique:lancer_un_programme_au_demarrage
Lancer un programme au démarrage
On peut souvent avoir besoin d'un programme, d'un service ou d'un script qui se lance au démarrage. Dans les dernières versions de Raspbian, c'est le système d'initialisation systemd qui est utilisé. La procédure pour démarrer un programme au démarrage n'est plus la même qu'avec les anciens systèmes d'initialisation.
D'abord, je copie le script du service ssh pour partir d'une base fonctionnelle :
$ sudo cp /etc/systemd/system/multi-user.target.wants/ssh.service /etc/systemd/system/multi-user.target.wants/MY-SERVICE.service
Ensuite, on modifie le fichier MY-SERVICE.service
:
$ sudo nano /etc/systemd/system/multi-user.target.wants/MY-SERVICE.service $ sudo cat /etc/systemd/system/multi-user.target.wants/MY-SERVICE.service [Unit] Description=Script pour lancer MY-SERVICE [Service] ExecStart=/home/pi/my-service.sh [Install] WantedBy=multi-user.target
Ensuite, on active le service avec la commande suivante:
$ sudo systemctl enable MY-SERVICE.service Created symlink from /etc/systemd/system/multi-user.target.wants/MY-SERVICE.service to /lib/systemd/system/MY-SERVICE.service.
On vérifie :
$ sudo systemctl status MY-SERVICE.service (...)
On relance le daemon avec systemctl, on relance le service MY-SERVICE
et on vérifie son statut:
$ sudo systemctl daemon-reload $ sudo systemctl restart MY-SERVICE.service $ sudo systemctl status MY-SERVICE.service (...)
Un exemple pour un programme C# sous Mono qui doit tourner en permanence :
[Unit] Description=Script du projet After=network.target [Service] ExecStart=/usr/bin/mono /home/pi/le-projet.exe Restart=always [Install] WantedBy=multi-user.target
Sources
informatique/lancer_un_programme_au_demarrage.txt · Dernière modification : 2020/08/09 13:03 de 127.0.0.1