initctl kommuniziert mit einem laufenden Upstart-init-Daemon. Verwende es erst, nachdem du bestätigt hast, dass im betreffenden PID-Namensraum tatsächlich Upstart läuft; nutze auf einem aktuellen systemd-Host stattdessen die nativen Werkzeuge von systemd.
Init · Lektion 4
Upstart-Jobs
Erfahre, wie du Jobs auf einem bestätigten älteren Upstart-System mit `initctl` untersuchst und steuerst.
Jobstatus auflisten und lesen
Liste bekannte Jobs und Instanzen auf:
$ initctl list
Untersuche einen einzelnen Job:
$ initctl status networking
networking start/running
Upstart meldet sowohl ein Ziel wie start oder stop als auch einen aktuellen Zustand wie running oder waiting. stop/waiting bedeutet, dass der Job nicht läuft und auf eine Startbedingung oder eine manuelle Anforderung wartet; dies weist nicht unbedingt auf einen Fehler hin.
Was bedeutet stop/waiting normalerweise in der Statusausgabe von Upstart?
Einen Job starten und stoppen
Nachdem du Abhängigkeiten und Auswirkungen geprüft hast:
$ sudo initctl start JOB_NAME
$ sudo initctl stop JOB_NAME
Jobs können mehrere Instanzen definieren, die durch Umgebungsvariablen unterschieden werden. Gib in diesem Fall genau die von der Konfiguration verlangten Variablen an und verwende sie auch beim Abfragen oder Stoppen einer Instanz. Das Starten von Jobs für Netzwerk, Speicher, Authentifizierung oder Fernzugriff kann die Sitzung unterbrechen; halte deshalb einen Konsolenzugang zur Wiederherstellung bereit.
Welcher Befehl fordert den manuellen Start des Jobs peanuts an?
Neustart und Konfigurationsänderungen
Fordere einen Neustart eines bereits laufenden Jobs an mit:
$ sudo initctl restart peanuts
Bei Upstart entspricht restart nach der Bearbeitung einer Jobdatei nicht immer einem frischen stop gefolgt von start: Die bestehende Konfiguration des laufenden Jobs kann maßgeblich bleiben. Validiere die geänderte .conf-Datei, weise Upstart entsprechend der installierten Version an, die Konfiguration neu zu laden, und befolge das dokumentierte Stopp-/Startverfahren, wenn die neue Konfiguration wirksam werden muss.
Ein Neustart verursacht eine Unterbrechung und kann den Dienst möglicherweise nicht wieder in Betrieb bringen. Prüfe anschließend den tatsächlichen Endpunkt und die Protokolle.
Welcher Befehl fordert einen Neustart des laufenden Upstart-Jobs peanuts an?
Jobkonfiguration validieren
Bevor du eine geänderte Jobdatei installierst, verwende das von der älteren Distribution bereitgestellte Validierungswerkzeug, häufig init-checkconf, und prüfe eingebundene Skripte, Umgebung, Benutzer-/Gruppeneinstellungen, Respawn-Richtlinie und Ereignisausdrücke. Lade die Definitionen danach mit dem zur Version passenden Arbeitsablauf initctl reload-configuration neu.
Eine Syntaxvalidierung kann nicht beweisen, dass Pfade existieren, Anmeldedaten die Ausführung erlauben, Ereignisse eintreffen oder der Prozess betriebsbereit wird. Teste in einer Umgebung mit Wiederherstellungsmöglichkeit.
Was kann die Syntaxvalidierung eines Jobs nicht beweisen?
Ereignisse mit Bedacht ausgeben
Upstart kann ein benanntes Ereignis ausgeben:
$ sudo initctl emit EVENT_NAME
Jeder Job, dessen Start- oder Stopp-Ausdruck passt, kann reagieren. Ein Ereignis ist nicht an einen einzelnen Job adressiert, und seine Auswirkungen können sich durch weitere Ereignisse fortsetzen. Untersuche alle passenden Konfigurationen, bevor du ein benutzerdefiniertes oder Systemereignis ausgibst; spiele zentrale Boot-Ereignisse auf einem Produktionshost nicht leichtfertig erneut ab.
Was kann geschehen, wenn initctl emit EVENT_NAME ausgeführt wird?
Lektion abgeschlossen
Sie haben Upstart-Jobs abgeschlossen
Du kannst Upstart-Jobs nun mit eindeutigem Zustandsverständnis und klarem Ereignisumfang bedienen.
Lies Ziel und Zustand in der
initctl-Ausgabe getrennt.Starte und stoppe nach Prüfung der Auswirkungen genau die beabsichtigte Jobinstanz.
Behandle Neustart und geänderte Jobkonfiguration als getrennte Belange.
Validiere die Syntax und teste anschließend die Betriebsbereitschaft.
Prüfe jeden passenden Ausdruck, bevor du ein Ereignis ausgibst.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen