Вопрос

Я работаю со встроенной платой (BeagleBoard) и использую дистрибутив Linux (Angstrom Linux). Я хотел бы аккуратно остановить операционную систему, когда данная кнопка нажата на плате. Я планирую сделать следующее:

<Ол>
  • В инициализации запустите "отключение питания". демон от имени пользователя root
  • <Литий> & Quot; силы- & Quot; запустите магический код, чтобы проверить, нажата ли данная кнопка
  • Если кнопка нажата, "отключение питания" позвонить "остановить"
  • Прежде чем перейти к моему текстовому редактору и коду, есть ли какой-нибудь стандартный демон Linux для этого?

    Это было полезно?

    Решение

    Демон init (ID процесса 1) настроен для отображения сигнала SIGWINCH на kb (" запрос клавиатуры ") действие, которое вы можете определить самостоятельно. init - это то, что сопоставляет нажатие клавиши ctrl-alt-del с перезагрузкой; так что было бы целесообразно, чтобы init также обрабатывал вашу кнопку выключения.

    Чтобы реализовать это, вам просто нужно написать небольшой код ядра для сопоставления вашего " выключения " нажмите кнопку, чтобы отправить SIGWINCH в PID 1, затем установите действие kb для вызова shutdown -h в / etc / inittab .

    Другие советы

    Я не знаю деталей вашей доски .. но взгляните на демона 'hal'.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top