Pergunta

Eu estou trabalhando com uma placa embutida (a BeagleBoard), rodando uma distribuição Linux (Angstrom Linux). Gostaria de parar suavemente o sistema operacional quando um determinado botão é pressionado no tabuleiro. O que eu pretendo fazer é:

  1. Na inicialização, lançar um "power-off" daemon como usuário root
  2. "power-off" executar o código mágica para verificar se um determinado botão é pressionado
  3. Se o botão for pressionado, "poder-off" chamada de "parada"

Antes de saltar no meu editor de texto e código que, há algum daemon padrão do Linux para fazer isso?

Foi útil?

Solução

O daemon init (ID de processo 1) está configurado para mapear o sinal SIGWINCH ao kb ( "pedido de teclado") ação, que é gratuito para que você defina. init é o que mapeia um ctrl-alt-del pressione a tecla para uma reinicialização; por isso faria sentido ter alça init botão seu desligamento também.

Para implementar isso, você só precisa escrever um pouco de código do kernel para mapear o "shut down" botão para enviar um SIGWINCH a PID 1, em seguida, configurar a ação kb para shutdown -h chamada em /etc/inittab.

Outras dicas

Eu não sei os detalhes de sua placa .. mas dê uma olhada no 'hal' daemon.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top