http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic.html#INISCRPTACT
Согласно этому статусу systemctl есть специальный список кодов возврата, которые возвращают информацию о запрашиваемой вами службе.
Если запрошено действие состояния, сценарий инициализации вернет следующие коды состояния выхода.
0 program is running or service is OK 1 program is dead and /var/run pid file exists 2 program is dead and /var/lock lock file exists 3 program is not running 4 program or service status is unknown 5-99 reserved for future LSB use 100-149 reserved for distribution use 150-199 reserved for application use 200-254 reserved
Это нормально, но я ошарашен тем фактом, что 1 не означает, что systemctl status
сам по себе вышел из строя (НЕ БАЗОВАЯ СЛУЖБА).
Я пишу скрипт, который запрашивает статус службы, которая находится в процессе запуска, поэтому я ожидаю увидеть код состояния 3 пару раз, а затем 0. Но какие коды состояния я должен ожидать, когда команда systemctl status
это бразок?
У меня возникает соблазн просто сказать, что 5+ является неисправимой ошибкой, и я должен подождать, пока сервис не появится, но это не то, что конкретно говорится в этом документе. Это просто дает общие оговорки.
Если это поможет, я использую Ubuntu 16.04 и 18.04. Может быть, у этого продавца есть конкретные коды? Я понятия не имею.