Da Ubuntu seit einiger Zeit auf Upstart angewiesen ist, möchte ich einen Upstart-Job verwenden, um bestimmte Anwendungen beim Herunterfahren oder Neustarten des Systems ordnungsgemäß herunterzufahren. Es ist wichtig, dass das Herunterfahren oder Neustarten des Systems blockiert wird, bis diese Anwendungen heruntergefahren werden.
Die Anwendungen werden gelegentlich manuell gestartet, und beim Herunterfahren des Systems sollte automatisch ein Skript beendet werden (das ich bereits habe). Da die Anwendungen nicht zuverlässig beendet werden können, ohne dass (fast alle) anderen Dienste ausgeführt werden, muss das Beenden der Anwendungen erfolgen, bevor der Rest des Herunterfahrens beginnt.
Ich denke, ich kann dies durch einen Startjob lösen, der beim Herunterfahren ausgelöst wird, aber ich bin mir nicht sicher, welche Ereignisse ich auf welche Weise verwenden soll. Bisher habe ich folgende (teilweise widersprüchliche) Aussagen gelesen:
- Es gibt kein allgemeines Herunterfahren im Upstart
- Verwenden Sie eine Zeilengruppe wie
start on starting shutdown
in der Jobdefinition - Verwenden Sie eine Zeilengruppe wie
start on runlevel [06S]
in der Jobdefinition - Verwenden Sie eine Zeilengruppe wie
start on starting runlevel [06S]
in der Jobdefinition - Verwenden Sie eine Zeilengruppe wie
start on stopping runlevel [!06S]
in der Jobdefinition
Aus diesen Empfehlungen ergeben sich folgende Fragen:
- Gibt es ein allgemeines Shutdown-Ereignis in Ubuntus Upstart oder nicht?
- Was ist der empfohlene Weg, um einen "Shutdown Hook" zu implementieren?
- Wann werden die Ereignisse Runlevel [x] ausgelöst? Ist dies beim Betreten des Runlevels oder beim Betreten des Runlevels?
- Können wir so etwas wie
start on starting runlevel [x]
oder verwendenstart on stopping runlevel [x]
? - Was wäre die beste Lösung für mein Problem?
Vielen Dank
startup
Ereignis ist, dass etwas zum "Ansaugen der Pumpe" erforderlich ist. Nachdem dieses eine privilegierte Ereignis gesendet wurde, kann und wird alles andere durch die Jobs und Aufgaben definiert, die von ausgelöst werdenstartup
. Da es kein einzigesshutdown
Ereignis gibt, gibt es zu viele verschiedene Arten,shutdown
als dass dies sinnvoll wäre. Es ist besser, sich direkt auf die Jobs zu verlassen, die ausgeführt werden müssen.