18 апреля 2014 года
Вы смотрите старую версию сайта, которая больше не обновляется.
Переходите на новую Computerra.ru:


Быстрая перезагрузка Windows

При работе с командными инструкциями Windows иногда возникает необходимость мгновенной перезагрузки системы с принудительным завершением всех запущенных приложений.

Автор: Андрей Крупин | Раздел: Система | Дата: 07 августа 2006 года

При манипулировании командными инструкциями 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 "Apache"
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".

/  iBusiness