Manejo del apagado de una placa embebida.
-
05-07-2019 - |
Pregunta
Estoy trabajando con una placa integrada (un BeagleBoard), ejecutando una distribución de Linux (Angstrom Linux). Me gustaría detener suavemente el sistema operativo cuando se presiona un botón determinado en el tablero. Lo que planeo hacer es:
- En el inicio, inicie un " apagado " demonio como usuario root
- " apagado " ejecute el código mágico para verificar si se presiona un botón dado
- Si se presiona el botón, " apagado " llamar " detener "
Antes de saltar a mi editor de texto y código, ¿hay algún demonio estándar de Linux para hacerlo?
Solución
El demonio
init
(ID de proceso 1) está configurado para asignar la señal SIGWINCH
a kb
(" solicitud de teclado ") Acción, que es libre de definir. init
es lo que asigna una presión de la tecla ctrl-alt-del a un reinicio; por lo tanto, tendría sentido que init
maneje su botón de apagado también.
Para implementar esto, solo necesita escribir un pequeño código de kernel para asignar su " apagar " para enviar un SIGWINCH
a PID 1, luego configure la acción kb
para llamar a shutdown -h
en / etc / inittab .
Otros consejos
No conozco los detalles de tu tablero ... pero echa un vistazo al demonio 'hal'.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow