Gestione dello spegnimento di una scheda integrata
-
05-07-2019 - |
Domanda
Sto lavorando con una scheda integrata (un BeagleBoard), eseguendo una distribuzione Linux (Angstrom Linux). Vorrei fermare delicatamente il sistema operativo quando viene premuto un determinato pulsante sulla scheda. Quello che ho intenzione di fare è:
- All'inizializzazione, avvia un "spegnimento" " demone come utente root
- " power-off " eseguire il codice magico per verificare se viene premuto un determinato pulsante
- Se si preme il pulsante, " spegnimento " chiama " halt "
Prima di saltare al mio editor di testo e al mio codice, c'è qualche demone Linux standard per farlo?
Soluzione
Il demone init
(ID processo 1) è impostato per mappare il segnale SIGWINCH
sul kb
(" tastiera richiesta ") azione, che puoi definire gratuitamente. init
è ciò che associa un tasto ctrl-alt-del a un riavvio; quindi sarebbe logico che init
gestisca anche il tuo pulsante di spegnimento.
Per implementarlo devi solo scrivere un po 'di codice del kernel per mappare il tuo " shutdown " per inviare un SIGWINCH
a PID 1, quindi impostare l'azione kb
per chiamare shutdown -h
in / etc / inittab
.
Altri suggerimenti
Non conosco i dettagli della tua scheda .. ma dai un'occhiata al demone 'hal'.