Was führt dazu, dass initctl stop fehlschlägt?

Was führt dazu, dass initctl stop fehlschlägt?

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?

verwandte Informationen