Сервіс --status-all -> з чим складається стовпець [? ], [+] і [-] означають?


13

Якщо я запускаю команду "service --status-all", кожна (запущена?) Служба відображається у форматі стовпців. У першому стовпці є або [? ], [+] або [-] перед назвою послуги. Що являє собою цей стовпець? Що означає?, +, І - означає?

Вибачте, якщо це просте запитання. Я шукав в Інтернеті близько 30 хвилин, перш ніж просто завітати сюди і запитати.

Я навіть виявив таке: Що означають символи в службі --status-all? де "правильна" відповідь зазначає "Він малює [+] або [-] залежно від того, статус виходу дорівнював нулю або ненульовий відповідно."

Отже, я думаю, що моє нове запитання - що означає статус нуля та нуля (!?!?!)?

Відповіді:


12

Ну це лише вихідні коди. Після того, як щось виконано, він може повернути 8-бітове ціле число (0-255), щоб вказати, як воно вийшло.

  • Нуль (який мається на увазі, якщо нічого не повернено) означає, що додаток закінчилося тим, що він повинен був зробити, і вийшов природним шляхом.
  • Ненульові коди (1-255) можуть означати все, що хоче програма. Сторінка man ( man <command>) зазвичай показує, що означають ці коди.

Щодо питання, не передумуйте його:

  • + означає, що він працює,
  • -означає, що це не так ( можливо, воно вийшло з ладу - воно ніколи не почалося), і
  • ?означає, що служби не мають statusкоманди, тому команда служби не може вирішити, що робити.

1
Я повністю згоден з вашою відповіддю (+1), але я просто не можу зрозуміти, чому sudo service --status-all 2>&1 | grep sshвиводиться, [ - ] sshнавіть коли я запускаю цю команду з SSH? Або чому sudo service --status-all 2>&1 | grep lightdmвиходи, [ ? ] lightdmколи sudo service lightdm statusпрацює як шарм?
Radu Rădeanu

@ RaduRădeanu Гадаю, я думаю, це може бути спадщиною /etc/init.d. На моєму серійно оновленому комп’ютері /etc/init.d/ssh status; echo $?показує ненульовий (поганий, не працює) та initctl listне показує SSH. На моїй 14.04 коробки initctrl робить шоу SSH , але до serviceсих пір не може прочитати статус. Також пам’ятайте, що initctrlпрацює для Upstart і serviceє частиною sysvinit-utils. Це не найясніші фотографії, але я думаю, що це може дещо пояснити деякі примхи. Я впевнений, що перехід на systemd очистить усе D:
Oli

Я думав, що негативний код виходу також може бути повернутий, або це лише для несервісних сценаріїв?
saiarcot895
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.