Supervisor: Несоответствие соглашения о коде возврата с Unix

Созданный на 28 сент. 2018  ·  3Комментарии  ·  Источник: Supervisor/supervisor

fyi, могут быть проблемы с процессами Go, которые не перезапускаются при сбое из-за panic() который выходит из программы с кодом выхода 2.

Обсуждение здесь: https://groups.google.com/forum/#!msg/golang -nuts / u9NgKibJsKI / XxCdDihFDAAJ

Проблема с Go-lang: https://github.com/golang/go/issues/24284

Спасибо!

question

Все 3 Комментарий

ps Я не уверен, почему конфигурация exitcodes умолчанию равна 0,2, а не просто 0

Я собираюсь закрыть эту проблему, потому что ожидаемые коды выхода уже можно изменить с помощью exitcodes= в файле конфигурации. Вам может потребоваться изменить это значение для конкретной программы ( go или иначе).

ps Я не уверен, почему коды выхода конфигурации по умолчанию равны 0,2, а не просто 0

Я не уверен. Я подозреваю, что это произошло из-за того, что некоторые команды возвращают статус выхода 2 из-за неправильных аргументов. Я думаю, что исходная идея могла заключаться в том, что повторный запуск команды с неверными аргументами не может быть успешным, поэтому не перезапускайте ее автоматически по умолчанию.

Мы приближаемся к другой основной версии Supervisor, поэтому у нас есть возможность изменить значение по умолчанию для exitcodes= . В 837c159ae51f3bf12c1d30a8cb44f3450611983c я изменил его с 0,2 на просто 0 . Я думаю, что повторный перезапуск программы с неверными аргументами расточителен, но, вероятно, это не проблема, но неспособность распознать сбой программы Golang, вероятно, будет проблемой.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги