
Ich schreibe ein Upstart-Skript, das mehrere Dienstprogramme zum Bearbeiten von Dateien, ls, rm usw. ausführen muss. Einige dieser Befehle werden nicht ausgeführt. Wenn ich einen Timer einstelle und das Skript warten lasse, funktionieren sie.
Gibt es eine Upstart-Variable, mit der ich sicherstellen kann, dass die Befehlszeilen-Dienstprogramme vollständig geladen und verfügbar sind, wenn mein Skript ausgeführt wird?
Antwort1
Die richtige Vorgehensweise besteht darin, Ereignisse zu verwenden. Andere Upstart-Skripte emit
signalisieren, wann sie etwas tun. Auf diese Weise können Sie Folgendes erreichen:
start on (local-filesystems and net-device-up IFACE!=lo)
... und Ihr Skript wird erst gestartet, wenn das Dateisystem und das lokale Netzwerk betriebsbereit sind.
Das funktioniert bei Ihnen möglicherweise immer noch nicht (ich bin nicht sicher, bis zu welchem Level Sie warten müssen), aber probieren Sie es aus und achten Sie auf verschiedene Ereignisse.
Du kannstmehr dazu start-on
im Kochbuch.