Il n'est pas pratique d'ouvrir et d'exécuter les commandes Raspberry Pi une par une pour exécuter les programmes Raspberry Pi. Cette fois, je résumerai brièvement comment démarrer automatiquement un programme en utilisant systemd au démarrage.
systemd est un mécanisme pour démarrer Linux et gérer le système. Les services sont gérés sous forme de fichiers dans des unités appelées Unités au lieu d'un seul script shell. Par conséquent, le processus peut être subdivisé et exécuté individuellement. De plus, étant donné que le déroulement de chaque processus peut être clarifié, un traitement parallèle est également possible. Cette fois, nous traiterons de la méthode de paramétrage de l'exécution du programme au démarrage, mais elle peut être exécutée non seulement au démarrage mais aussi à la fin ou avec un déclencheur tel qu'un timer.
Il s'agit d'un flux de paramètres, mais il est fondamentalement possible en créant un fichier de service et en rendant le fichier de service utilisable.
Créez le fichier de service dans le répertoire / etc / systemd / system /. Par conséquent, exécutez la commande suivante. Vous pouvez utiliser n'importe quel nom pour la partie test de test.service.
$ sudo nano /etc/systemd/system/test.service
Décrivez-le comme suit.
test.service
[Unit]
Description = do test
[Service]
ExecStart=/home/pi/systemd/test.sh
Restart=always
Type=simple
User=pi
[Install]
WantedBy=multi-user.target
[unit] Définissez l'unité elle-même. La description n'affecte pas l'opération, alors décidez vous-même.
[service] C'est là que la commande de démarrage est déterminée. Si vous définissez avec Redémarrer et Type, vous pouvez également définir le redémarrage lorsque le service s'arrête. Vous pouvez également définir des autorisations d'exécution dans User. Par défaut, en plus de fonctionner avec les privilèges sudo, systemd recherche uniquement les modules en fonction des privilèges. Par conséquent, le module qui a été installé pip avec les privilèges utilisateur sera considéré comme aucun module, donc sudo pip install ou modifiez le paramètre d'autorisation du fichier de service en pi.
ExecStart: commande de démarrage du service Type: comment déterminer si le processus de service a démarré. La valeur par défaut est "simple". "Simple": juge que le service a démarré lorsque la commande spécifiée dans ExecStart est exécutée. Redémarrer: condition de redémarrage lorsque le processus de service est arrêté (la valeur par défaut est «non») "Toujours": essayez toujours de redémarrer Utilisateur: autorisation d'exécution (la valeur par défaut est "root")
[install] Écrivez cette section comme un cliché. Sans cela, l'opération suivante ne peut pas être effectuée.
Lorsque le fichier de service est complet, chargez-le dans le démon.
$ systemctl daemon-reload
Le fichier de service peut être démarré et arrêté avec la commande suivante. Au moment de l'exécution, omettez .sevice et entrez le nom du fichier de service que vous avez défini.
$test de démarrage de systemctl
$test d'arrêt systemctl (arrêt)
Après avoir confirmé l'opération, utilisez la commande suivante pour décider d'activer, de désactiver ou de désactiver le fichier de service au démarrage.
$test d'activation de systemctl (démarrage du démon)
$test de désactivation de systemctl (démon d'arrêt)
S'il est exécuté au démarrage, il ne passera pas sur la commande, donc même si une erreur se produit, elle ne peut pas être confirmée. Si vous exécutez cette commande après le démarrage, vous pouvez vérifier le journal d'exécution du programme au démarrage.
sudo LANG=C systemctl status -l test.service
Cette fois, je me suis référé à l'article suivant. https://qiita.com/sinsengumi/items/24d726ec6c761fc75cc9 https://qiita.com/molchiro/items/ee32a11b81fa1dc2fd8d https://tomosoft.jp/design/?p=11697 https://qiita.com/marumen/items/e4c75a2617cb5d0113ce https://www.souichi.club/technology/systemd/
Désormais, Raspberry Pi peut être exécuté automatiquement au démarrage. S'il peut être exécuté automatiquement, vous pouvez démarrer slackbot au démarrage et le faire fonctionner depuis votre smartphone. Il semble que Raspberry Pi puisse être géré de manière plus pratique.
Recommended Posts