Umgang mit Power-Off eines Embedded Board
-
05-07-2019 - |
Frage
Ich arbeite mit einem Embedded Board (a Beagleboard), eine Linux-Distribution (Angstrom Linux) ausgeführt wird. Ich mag sanft um das Betriebssystem zu stoppen, wenn eine bestimmte Taste auf der Platine gedrückt wird. Was ich plane zu tun ist:
- Auf der init, starten Sie einen "Power-off" Daemon als Benutzer root
- „Power-off“ den magischen Code ausführen zu überprüfen, ob eine bestimmte Taste gedrückt wird
- Wenn die Taste gedrückt wird, "Power-off" call "halt"
Bevor auf meinem Text-Editor Springen und Code, gibt es einige Standard-Linux-Daemon, das zu tun?
Lösung
Der init
Daemon (Prozess-ID 1) eingerichtet ist, das SIGWINCH
Signal an die kb
( „keyboard request“) Aktion auf der Karte, die für Sie kostenlos ist zu definieren. init
ist, was bildet eine ctrl-alt-del-Taste drücken, um einen Neustart; so wäre es sinnvoll haben init
zu Ihrer Shutdown-Taste zu behandeln.
Um dies zu implementieren, müssen Sie nur einen kleinen Kernel-Code schreiben, um Ihre „shut down“ -Taste zur Karte eine SIGWINCH
zu PID 1 zu senden, dann die kb
Aktion einrichten shutdown -h
in /etc/inittab
zu nennen.
Andere Tipps
Ich weiß nicht, die Details Ihres Bord .. aber einen Blick auf die ‚hal‘ Daemon übernehmen.