Welche Priorität sollte ich einem beim Start ausgeführten Skript geben?

Welche Priorität sollte ich einem beim Start ausgeführten Skript geben?

Ich verwende die Angstrom-Distribution auf einem eingebetteten Gerät. Ich möchte dessen GPIO-Erweiterungsports nutzen, die beim Start auf „High“ eingestellt sind. Unten sehen Sie das Codesegment, das einen Erweiterungsport freigibt.

#!/bin/sh

cleanup() { # Release the GPIO port
  echo 133 > /sys/class/gpio/unexport
  exit
}

Ich denke daran, dieses Skript beim Start auszuführen und dabei zu verwenden update-rc.d name_of_script default.

Meine Frage ist:

Welche Priorität sollte ich einräumen, um sicherzustellen, dass GPIO-Ports beim Start nicht hoch werden? Ich gehe davon aus, dass es ein Skript gibt, das dafür verantwortlich ist, dass GPIO-Ports hoch werden. Wenn das zutrifft, könnte ich stattdessen die Ausführung beim Start deaktivieren.

Wenn Sie weitere Informationen benötigen (z. B. zum Inhalt von /etc/init.d), lassen Sie es mich bitte wissen.

Antwort1

Ich bin nicht sicher, ob Angstrom einen abhängigkeitsbasierten Boot-Vorgang verwendet oder nicht. Wenn ja, werden die Zahlen ignoriert. Nehmen wir an, dass dies nicht der Fall ist.

Die Nummern dienen ausschließlich der Reihenfolge der Skripte. Es ist beispielsweise wichtig, sicherzustellen, dass alle Dateisysteme gemountet sind, bevor versucht wird, den Webserver zu starten. Oder sicherzustellen, dass syslogd gestartet ist, bevor die meisten Daemons gestartet werden.

In Ihrem Fall muss es also nach (höhere Nummer) allen Skripten kommen, die die GPIO-Treiber laden, aber vor (niedrigere Nummer) dem Skript, das Ihre App startet (was vom richtig konfigurierten GPIO-Port abhängt).

Wenn, wie oben, ein abhängigkeitsbasierter Start verwendet wird, legen Sie die Abhängigkeiten in den Kommentaren oben im Skript richtig fest, und update-rc.d sollte eine Nummer für Sie ermitteln (und dabei möglicherweise auch andere Skripte neu nummerieren, damit alles funktioniert).

verwandte Informationen