Описание тега debconf
Я думаю, что ты непонимание использование порта 80. Только один демон прослушивает порт 80. Это потом переадресация входящих запросов в Apache демоны работника. Я бы просто запустить скрипт перезагрузки, если вы завить
команду не вернулся с HTTP-статус 200.
Стоп/старт скрипт сервиса уже должна содержать положения, в нем для работы с Apache, что и не желает спускаться.
Если вы считаете, что даже после того, как он работает вот так:
$ /етц/инит.д/httpd для остановки
$ pgrep файл httpd
... процесс возвращает идентификатор...
Тогда вы, возможно, захотите превратить ваш подход немного и вместо этого:
$ /етц/инит.д/httpd для остановки
$ вводиться файле httpd
$ /етц/инит.д/httpd для начала
Но как я уже говорил. Вы действительно не должны делать ничего из этого. Скрипт сервиса в/etc/инит.д/с httpd
должен быть устойчивым, достаточно, чтобы правильно справляться с подобными ситуациями самостоятельно.
Изменен скрипт
Я бы изменить то, что вы следующим образом, но в противном случае это было бы прекрасно, чтобы использовать, как это, ИМО.
#!/бин/Баш
ответ=$(завиток --писать-из %{http_code} --подключения-таймаут 5 \
--молчать --вывод /dev/нуль http://www.mydomain.com/some-empty-page)
если [ $ответ -экв 200 ]; тогда
Эхо "все хорошо"
еще
в /etc/инит.д/httpd, а не перезапуск
Echo "неверный $(дата)" >> /home/myspace/restart_log.txt
интернет
Если вы хотите, чтобы функция убивать, менять еще статья:
еще
в /etc/инит.д/httpd для остановки
команду killall httpd для
в /etc/инит.д/httpd для начала
Echo "неверный $(дата)" >> /home/myspace/restart_log.txt
интернет
В зависимости от того, насколько серьезный перезагрузки, которую вы хотите выполнить, вы можете расширить команду killall
, чтобы ужесточить убить сигналов (сигнал SIGKILL ака. -9
) например, но я бы начал с бывшим. Если вы испытываете висит Апач, то добавить еще пункт следующий. Если все равно висит, то Апач использует сигнал SIGKILL это.