![Время ожидания init перед отправкой kill -9 при завершении работы?](https://rvso.com/image/38706/%D0%92%D1%80%D0%B5%D0%BC%D1%8F%20%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%20init%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%BE%D0%B9%20kill%20-9%20%D0%BF%D1%80%D0%B8%20%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D0%B8%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%3F.png)
Насколько я понимаю shutdown
команду: если я отправлю shutdown -h now
init, то попытается корректно остановить все процессы, подожду определенное время, а затем отправлю kill -9
.
Мой вопрос: как долго init будет ждать, и как мне настроить этот промежуток времени? У меня есть , mysql server
который может останавливаться изящно до 15 минут, и я хочу быть уверен, что init не попытается и kill -9
его.
На первый взгляд, прочитав man-страницу, можно сделать вывод, что этот -t
флаг — именно то, что мне нужно. Однако, если вчитаться в подробности, то можно увидеть, что этот флаг на самом деле определяет задержку между отправкой команды shutdown и попыткой init корректно остановить все процессы.
Операционная система — CentOS 6, но также интересует Debian 7.
решение1
Вы можете указать время, по истечении которого необходимо выполнить выключение, как указано выше.здесь.
shutdown -h +15 "Waiting for graceful shutdown of mysql server"
РЕДАКТИРОВАТЬ
Я использовал приведенный ниже скрипт на одной из машин, чтобы проверить, завершается ли скрипт.
while true; do sleep 999999; done
Процесс не был остановлен, и он был.