Ich habe einen Upstart-Prozess, der alle untergeordneten Prozesse während des Post-Stopps beendet:
post-stop exec killall my-process & exec sleep 10
Dies funktioniert wie erwartet, ich bin mir jedoch in den folgenden beiden Fällen nicht sicher:
Wenn der Killall-Prozess nicht als Hintergrundprozess ausgeführt wird:
post-stop exec killall my-process && exec sleep 10
Oder wenn ich den Schlafprozess ganz entferne:
post-stop exec killall my-process
Wenn ich in diesen beiden Szenarien „initctl stop“ ausführe, wird der folgende Fehler zurückgegeben:
initctl: Job failed while stopping
Warum stoppt das erste Beispiel wie erwartet, während die anderen beiden Beispiele nicht richtig stoppen?