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:

  1. En el inicio, inicie un " apagado " demonio como usuario root
  2. " apagado " ejecute el código mágico para verificar si se presiona un botón dado
  3. 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?

¿Fue útil?

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
scroll top