Nerusky
Мыслитель
(5220)
14 лет назад
Чтобы заставить операционную систему при выходе автоматически завершать работу процессов, которые не завершили свою работу в течение определенного времени (по умолчанию, 20 секунд) , необходимо присвоить параметру строкового типа AUTOENDTASKS значение 1. Данный параметр расположен в ветви реестра HKEY_CURRENT_USER\CONTROL PANEL\DESKTOP.
Если значение параметра AUTOENDTASKS равно 1, тогда можно определить значение еще несколько параметров, которые влияют на процесс автоматического завершения работы программ и служб. К ним можно отнести следующие параметры строкового типа.
HungAppTimeout Значение данного параметра определяет интервал времени (в миллисекундах) в течение которого программа должна ответить на запрос системы. Если в течение этого времени программа не ответила на запрос системы, тогда она считается зависшей. Значение данного параметра не используется при завершении работы компьютера — данный параметр предназначен для определения зависших программ в процессе работы пользователя в системе. При этом система не принимает никаких действий по завершению работы зависшей программы, даже если значение параметра AUTOENDTASKS равно 1.
Данный параметр расположен в ветви реестра HKEY_CURRENT_USER\CONTROL PANEL\DESKTOP. По умолчанию значение данного параметра равно 5000, что соответствует интервалу ожидания ответа, равному 5 секунд. В принципе, значение данного параметра можно уменьшить до 2000, что соответствует 2 секундам интервала. Хотя никакой функциональной разницы от этого изменения не будет — просто на три секунды раньше программа станет считаться зависшей. При этом, если программа все-таки ответит на запрос системы, она опять станет считаться работающей.
WaitToKillAppTimeout Значение данного параметра определяет интервал времени (в миллисекундах) в течение которого программа должна завершить свою работу при завершении работы операционной системы. Если программа не завершит свою работу в течение указанного интервала времени, работа такой программы будет завершена автоматически. При этом все несохраненные данные будут утеряны.
Данный параметр расположен в ветви реестра HKEY_CURRENT_USER\CONTROL PANEL\DESKTOP. По умолчанию значение данного параметра равно 20000, что соответствует интервалу ожидания ответа, равному 20 секунд. Этого интервала с избытком хватает на завершение работы программ при завершении работы операционной системы. Более того, если во время завершения работы операционной системы довольно редко зависают программы, тогда значение параметра WAITTOKILLAPPTIMEOUT можно уменьшить до 5000 — интервала в 5 секунд, как правило, также всегда хватает для корректного завершения работы программ.
WaitToKillServiceTimeout Значение данного параметра определяет интервал времени (в миллисекундах) в течение которого служба должна завершить свою работу при завершении работы операционной системы. По умолчанию значение этого параметра равно 20000. Этого также с избытком хватает для завершения работы служб, но можно присвоить этому параметру значение, равное, например, 7000. Ниже этого значения лучше не опускаться, ведь, как часто бывает, службы оперируют критичной для корректной работы операционной системы информацией (тем более, большая часть служб запущена с правами системы, то есть, может изменять значения многих ветвей реестра) , некорректная запись которой может привести к повреждению реестра.
Антон Зуев
Гуру
(3841)
14 лет назад
shutdown [{-l|-s|-r|-a}] [-f] [-m [\\имя_компьютера] ] [-t xx] [-c "сообщение"] [-d[p]:xx:yy]
Параметры
-l
Осуществляет выход текущего пользователя из системы (также используется по умолчанию) . -m имя_компьютера имеет приоритет.
-s
Выключает локальный компьютер.
-r
Выполняет перезагрузку после выключения.
-a
Прерывает выключение. Игнорируются все параметры, кроме -l и имя_компьютера. Параметр -a можно использовать только в течение интервала таймаута.
-f
Принудительно закрывает выполняющиеся приложения.