У меня есть процесс upstart, который завершает все дочерние процессы во время пост-остановки:
post-stop exec killall my-process & exec sleep 10
Это работает так, как и ожидалось, однако я не уверен в следующих двух случаях:
Если процесс killall не запущен как фоновый процесс:
post-stop exec killall my-process && exec sleep 10
Или если я вообще удалю процесс сна:
post-stop exec killall my-process
В этих двух сценариях при запуске initctl stop возвращается следующая ошибка:
initctl: Job failed while stopping
Почему в первом примере остановка происходит так, как и ожидалось, а в двух других случаях остановка происходит неправильно?