Gestion de la mise hors tension d'une carte intégrée
-
05-07-2019 - |
Question
Je travaille avec une carte embarquée (un BeagleBoard), exécutant une distribution Linux (Angstrom Linux). Je voudrais arrêter doucement le système d'exploitation lorsqu'un bouton donné est enfoncé sur le tableau. Ce que je prévois de faire est:
- À l'init, lancez un "" power-off" " démon en tant qu'utilisateur root
- " mise hors tension " lance le code magique pour vérifier si un bouton donné est enfoncé
- Si le bouton est enfoncé, " mise hors tension " appelez "stop"
Avant de sauter dans mon éditeur de texte et mon code, existe-t-il un démon Linux standard pour le faire?
La solution
Le démon init
(processus ID 1) est configuré pour mapper le signal SIGWINCH
sur le kb
("demande de clavier"). action, qui est libre pour vous de définir. init
est ce qui mappe une pression sur une touche Ctrl-Alt-Suppr à un redémarrage; il serait donc logique que init
gère également votre bouton d'arrêt.
Pour implémenter cela, il vous suffit d'écrire un petit code du noyau pour mapper votre "arrêt". bouton pour envoyer un SIGWINCH
au PID 1, puis configurez l'action kb
pour appeler shutdown -h
dans / etc / inittab
.
Autres conseils
Je ne connais pas les détails de votre forum .. mais jetez un coup d'œil au démon 'hal'.