Wie man eine Anwendung in Linux ausführt, kurz vor dem Ausschalten und nach dem Herunterfahren

1

Ich habe ein eingebettetes System, das nach dem Herunterfahren selbst ausgeschaltet werden muss. Zum Ausschalten sendet Linux einen Befehl über ein i2c an ein anderes Gerät, um das Linux-Board auszuschalten.

Um das Linux-Board herunterzufahren und auszuschalten, sollte ich Folgendes tun:

  1. Herunterfahren von Linux (so wurde es sicher, das Board herunterzufahren).

  2. Senden Sie einen Befehl an ein Energieverwaltungsgerät, um die Linux-Platine auszuschalten.

Ich habe bereits einen einfachen Code geschrieben, der unter Linux ausgeführt werden kann und das Board ausschalten kann.

Wie kann ich das Linux so einrichten, dass es dieses Programm ausführt, nachdem die Platine sicher ausgeschaltet wurde?

mans
quelle
Ist dies die Frage nach dem Herunterfahren eines Systems und der Interaktion zwischen der Systemplatine und der Netzteileinheit oder dem Versuch, die externe Stromversorgung der Einheit zu entfernen, nachdem das System heruntergefahren wurde? Können Sie Ihren Herunterfahren-Code im Vergleich zu der Notwendigkeit erklären, ihn nach dem Herunterfahren des Systems auszuführen, oder beziehen Sie sich nur auf die Ausführung, wenn der Housekeeping-Vorgang abgeschlossen ist (Speichern von Dingen aus dem Arbeitsspeicher, Aushängen von Festplatten usw.)?
fixer1234
@ fixer1234 Ich versuche, dieselbe Interaktion zu simulieren wie Linux auf einem PC, um den Computer nach einem Herunterfahren meines eingebetteten Systems auszuschalten. Ich habe Ubuntu Linux auf einem M-Board. Ich kann die Platine ausschalten, indem ich über i2c einen Befehl an ein Energieverwaltungsgerät schicke, und ich kann das Linux herunterfahren. Kann ich dieselbe Technik unter Linux verwenden?
mans
Auf einem Embedded-System ist es also so weit reduziert, dass Sie selbst grundlegende Betriebssystemaufgaben wie diese programmieren müssen. Linux ist alles offener Code. Ist es Ihre Aufgabe, das Modul zu identifizieren, das diese Funktion enthält, und den Quellcode zu betrachten?
fixer1234
Sie wissen nicht, welches Init-System Sie verwenden, aber vielleicht unix.stackexchange.com/questions/56414/eject-cd-on-shutdown gibt dir Hinweise.
mpy