Я ищу по всему Интернету, но не могу найти никакой информации о НЕДЕЙСТВИТЕЛЬНЫМ АРГУМЕНТ .
После остановки службы в systemd я получил такой ответ.
Oct 18 21:17:04 BSU00383 systemd: Stopping filebeat...
BUNCH OF APPLICATION ERROR HERE
Oct 18 21:17:04 BSU00383 systemd: filebeat.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Похоже, что стороне приложения не удалось обработать Сигнал SIGTERM до получения Сигнал SIGKILL из systemd, но в каких ситуациях systemd вообще возвращает INVALIDARGUMENT?
Я использую Red Hat Enterprise Linux 7.4.
Я ценю, если кто-нибудь может мне помочь ...
Спасибо,
Ю Ватанабэ
Имя «INVALIDARGUMENT» является «кодом» для статуса выхода 2.
В исходном коде systemd (если посмотреть на v219, версию, поставляемую с RHEL 7), есть константа для этого определено в enum ExitStatus
:
EXIT_INVALIDARGUMENT = 2,
Эти константы, похоже, взяты из стандарта LSB (который пытался стандартизировать сценарии инициализации, когда раньше сценарии инициализации были чем-то ...)
Смотря на соответствующий раздел LSB, вот эта таблица:
1 generic or unspecified error (current practice)
2 invalid or excess argument(s)
3 unimplemented feature (for example, "reload")
4 user had insufficient privilege
5 program is not installed
6 program is not configured
7 program is not running
Что соответствует другим константам systemd ... Таким образом, похоже, что systemd пыталась использовать стандарт LSB, поскольку для программ, следующих этому стандарту, есть небольшое преимущество.
Конечно, не все программы следуют этому стандарту, поэтому systemd может в конечном итоге сказать, что он думает этот код ошибки означает, что даже если авторы программы, возможно, решили использовать статус выхода 2 (и другие до 7) для совершенно других целей ...