Я создаю несколько скриптов, которые регистрируются для выполнения при запуске сервера в CentOS 6.5.
Один из этих сценариев имеет цикл while, который блокируется до тех пор, пока он не найдет сообщение об успешном запуске в журнале другого процесса, который также запускается во время загрузки (init.d).
Если эта служба, от которой зависит мой сценарий, никогда не регистрирует успешный запуск в своем файле журнала, а мой сценарий навсегда зависает в цикле while, приведет ли этот конкретный сценарий к тому, что операционная система полностью зависнет и никогда не запустится? Есть ли настройка тайм-аута для скриптов init.d?
Мои сценарии зарегистрированы для выполнения в файле rc.local.
Если сценарий init.d не завершается, нормальный запуск системы будет прерван на неопределенный срок.
Одним из распространенных решений является включение счетчика в цикл while и выход с сообщением об ошибке после заданного количества циклов while. Если вы ждете внешней команды, у которой нет параметра тайм-аута, взгляните на этот вопрос.