Быстрая перезагрузка Windows
АрхивСистемаПри работе с командными инструкциями Windows иногда возникает необходимость мгновенной перезагрузки системы с принудительным завершением всех запущенных приложений.
При манипулировании командными инструкциями Windows иногда возникает необходимость мгновенной перезагрузки системы с принудительным завершением всех запущенных приложений. Подобная ситуация, к примеру, может возникнуть при написании CMD-скрипта, автоматизирующего работу системы и отвечающего за ее гарантированную перезагрузку в случае выполнения какого-либо заданного условия без оглядки на диалоговые окна, выводимые некоторыми программами перед закрытием.
В случае Windows XP/2003 упомянутая задача легко решается применением консольной команды Shutdown с ключом /f (англ. to force - "принуждать"). Важно лишь помнить, что использование этого параметра может привести к потере несохраненных приложениями данных.
При наличии под рукой старушки Windows 2000 проблема решается применением сторонних консольных утилит. Например, с помощью забугорной PsShutdown (120 кб) от Марка Руссиновича или отечественной Fast reboot (112 кб) от Александра Телятникова. Обе программы просты в обиходе и используют успевший стать стандартом де-факто ключ -f, за тем лишь приятным исключением, что Fast reboot оснащена инсталлятором, прописывающим утилиту в автозагрузку и переводящим ее в режим отслеживания нажатия комбинации Ctrl+Alt+Shift+Del. Как только зафиксируется данное сочетание клавиш, приложение мгновенно отправит Windows в перезагрузку, предварительно сохранив настройки пользовательского профиля и содержимое кэша на жесткий диск в целях обеспечения целостности файловой системы.
Помимо сохранения системных данных, Fast reboot умеет перед перезагрузкой останавливать указанные пользователем сервисы, требующие корректного завершения работы. Для этого необходимо к значению FastReboot в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run дописать строку --script <полный_путь_к_скрипту>, сообщающую утилите о местоположении файла с дополнительными инструкциями.
В качестве демонстрации приведем пример авторского скрипта C:\Utils\stop_crit_svc.bat, останавливающего перед перезагрузкой веб-сервер Apache и системные сервисы базы данных Oracle:
net stop "OracleServiceRECOGN"
net stop "OracleOraHome81TNSListener"
Для его запуска нужно прописать в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run строку "FastReboot"="FReboot.exe -u --script C:\\Utils\\stop_crit_svc.bat".