Как я могу сказать, как долго Watchdog будет ждать, чтобы остановить все процессы?

У меня есть сервер, мониторинг которого осуществляет Watchdog, и периодически он перезагружается из-за неисправного сетевого оборудования, которое я не могу заменить в данный момент. Как я читал, Watchdog отправляет SIGTERM всем процессам, запрашивая безопасное отключение, и через короткое время отправляет SIGKILL, что немедленно остановит процесс. Однако в этом случае это приводит к повреждению данных, поскольку основной важный процесс еще не полностью завершен и содержит неписанные данные.

Как долго длится эта пауза, когда Watchdog запрашивает остановку всех процессов и заставляет их останавливаться? Он встроен в Watchdog, установлен в watchdog.conf (если он никогда не был задокументирован на странице руководства), или такой же, как другие системные настройки? Как я могу изменить этот параметр?

Редактировать: время ожидания истекло, но я все еще ищу инструкции о том, как правильно перестроить и интегрировать систему.

3
задан 27 March 2013 в 00:37

3 ответа

Официальным 5,15 версиям в SourceForge теперь включали эту опцию. Это может быть настроено в файле watchdog.conf использование строки:

sigterm-задержка = 5

(прокомментированный в файле в качестве примера). Обратите внимание, что экспериментальная версия 'V6' не должна больше использоваться, поскольку 5.15 имеет практически все ее функции и несколько исправлений ошибок также. Также обратите внимание, что 'находившийся' веб-сайт мог бы быть закрыт позже в 2019 из-за отказа в финансировании NERC.

1
ответ дан 14 October 2019 в 15:42

Я разместил некоторую информацию о сборке, настройке и тестировании демона наблюдения Linux здесь:

http://www.sat.dundee.ac.uk/~psc/watchdog/Linux- Watchdog.html

Краткий ответ: вам нужно настроить систему для сборки для этого проекта:

sudo apt-get build-dep watchdog
sudo apt-get install build-essential automake libtool

Затем получите исходный код, который вы, вероятно, уже имеете, но самое последнее можно сделать с помощью этих шагов:

sudo apt-get install git
git clone git://git.code.sf.net/p/watchdog/code watchdog-code

Перейдите в каталог кода и подготовьтесь к компиляции:

cd watchdog-code
autoreconf -i
./configure

Затем в каталог с исходным кодом и скомпилируйте его:

[ 113]

В текущем каталоге у вас будут новые двоичные файлы. Протестируйте их, прежде чем сделать их «живыми» с помощью sudo make install, или, по крайней мере, сделайте резервные копии программ, поставляемых системой. Они раздуты по сравнению с системными из-за отладочных символов, вы можете использовать команду strip, если хотите уменьшить их размер.

Можете ли вы сказать, сколько времени вам нужно для работы SIGTERM?

Отредактировано, чтобы добавить:

Если вы используете текущее GIT pull (14 сентября 2013), отредактируйте завершение работы. c и в строке 363 измените "safe_sleep (4);" иметь желаемое значение тайм-аута в секундах. Если вы редактируете код для системного сторожевого таймера (как указано выше), постарайтесь не спать () дольше, чем аппаратный таймаут (обычно 60 секунд), так как система просто перезагрузится! Именно поэтому функция safe_sleep () поддерживала сторожевой таймер во время ожидания.

0
ответ дан 27 March 2013 в 00:37

Из источника Watchdog, shutdown.c, строка 445 , пауза встроена в Watchdog и составляет пять секунд.

0
ответ дан 27 March 2013 в 00:37

Другие вопросы по тегам:

Похожие вопросы: