2009-11-27 5 views
3

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 quand un bouton donné est poussé sur la carte. Ce que je prévois de faire est:Gestion de la mise hors tension d'une carte intégrée

  1. Au init, lancer un « power-off » démon en tant que root utilisateur
  2. « power-off » exécuter le code magique pour vérifier si un bouton donné est pressé
  3. Si le bouton est enfoncé, « power-off » appeler « arrêt »

Avant de sauter sur mon éditeur de texte et le code qui, est-il un démon Linux standard pour le faire?

+0

Ce serait une meilleure question pour Serverfault. C'est plus d'une question de script et traitant de runlevels. – monksy

+0

Je vois plus ma question en tant que question liée à l'architecture: je peux le faire, mais je ne suis pas sûr que ce soit la bonne façon, en raison de mon expérience limitée avec les cartes embarquées. – Monkey

Répondre

2

Le démon init (processus ID 1) est mis en place pour cartographier le signal SIGWINCH au kb (« demande du clavier ») l'action, qui est gratuit pour vous de définir. init est ce qui associe une touche ctrl-alt-del à un redémarrage; il serait donc logique d'avoir votre bouton d'arrêt aussi.

Pour mettre en œuvre ce que vous avez juste besoin d'écrire un peu de code du noyau pour mapper votre bouton « fermer » pour envoyer un SIGWINCH à PID 1, puis mis en place l'action kb appeler shutdown -h en /etc/inittab.

0

Je ne connais pas les détails de votre carte .. mais jetez un oeil au démon 'hal'.

+1

HAL est en cours de suppression, fyi. –

Questions connexes