Запустить скрипт при выключении. Сколько у меня времени?
Я хочу запустить скрипт при выключении сервера. Это хост KVM, и я хочу выключить свои виртуальные машины. Сколько времени система будет ждать завершения моего сценария? Бесконечно?
2 ответа
У вас есть столько времени, сколько вы хотите, так как это зависит от того, как вы его выключаете и как запускаете скрипт.
Вы можете настроить процесс выключения так, чтобы он блокировал ваш скрипт, тогда у вас будет столько времени, сколько вы захотите. Он не продолжит закрываться, пока ваш скрипт не завершится.
Затем есть настройки, подобные Knoppix, которые отправляют TERM, а затем KILL всем процессам довольно быстро во время завершения работы. Так что у тебя почти не будет времени на сценарий.
Зависит от версии программы init. Для sysvinit(программы инициализации в стиле System V) и upstart (изначально разработанные для дистрибутива Ubuntu) нет ограничения по времени. Иногда используйте killall5 для выключения (скрипт выключения не запускается).
Также вы можете установить время ожидания (время ожидания между отправкой сигналов TERM и KILL) в upstart (в /etc/init):
kill timeout 180