Завершите работу операционной системы, убив задачу
Недавно я натолкнулся на довольно странную ошибку, и мне было интересно, есть ли у кого-нибудь понимание этого. Я не могу найти ссылку на такой сценарий в Google, поэтому здесь идет...
Грубая последовательность событий такова:
- RDP в Windows 2008 R2 и начать работать в SQL Management Studio
- Попробуйте выйти без закрытия SSMS
- Экран гаснет и дает мне информацию "Фоновые задачи ждут закрытия"
- Я предполагал, что SSMS спросит меня, хочу ли я сохранить свой сценарий SQL, но не смог вернуться к задаче
- Панель задач все еще работала, поэтому я щелкнул правой кнопкой мыши и открыл диспетчер задач, перешел к списку процессов и попытался завершить работу ssms.exe.
- Он предупредил меня, что при завершении этой задачи операционная система выключится, и я могу потерять данные. Кнопка для выполнения действия была серой, пока я не поставил галочку, чтобы признать, что может быть потеря данных.
- Поэтому я поставил галочку и нажал кнопку подтверждения. В соответствии с его словом, вскоре после этого я потерял соединение RDP и должен был ждать, пока кто-нибудь на удаленном конце перезапустит ВМ.
- Когда операционная система вернулась в онлайн, она сообщила, что произошла ошибка синего экрана.
К сожалению, во время этого я не думал, чтобы получить скриншот, поэтому я ухожу из памяти. Но я был удивлен - я как-то думал в эти дни с изоляцией процессов и тем, что один пользовательский процесс не может взорвать всю ОС - скорее всего, системный процесс низкого уровня, такой как драйвер. И я определенно никогда не видел подобной функциональности в диспетчере задач.
Так... кто-нибудь сталкивался с этим раньше? И есть ли какая-нибудь документация Microsoft, которая объяснит, с чем я столкнулся?
РЕДАКТИРОВАТЬ - для выяснения симптомов: после завершения процесса SMSS появляется синий экран, затем система перезагружается (ручного вмешательства не требуется). А вот текст сообщения из диспетчера задач на случай, если кто-нибудь в будущем будет искать это в Google: "Завершение этого процесса приведет к немедленному завершению работы операционной системы. Вы потеряете все несохраненные данные. Вы уверены, что хотите продолжить?" И флажок гласит "Отменить несохраненные данные и выключить".
1 ответ
smss.exe
является важным системным процессом в Windows (это диспетчер сеансов Windows), и он никак не связан с SQL studio. Если вы убьете его (и то же самое касается других системных процессов, таких как winlogon.exe
или служба регистрации событий), система может инициировать перезагрузку (в прошлый раз, когда я видел это в XP, это было с окном обратного отсчета, сгенерированным API InitiateSystemShutdown, как видно на веб-странице, упомянутой ниже, но я также видел это мгновенная перезагрузка с синим экраном).
На самом деле, убийство smss.exe
наряду с этим, похоже, не запускается синий экран и не происходит перезагрузка (по крайней мере, на виртуальной машине WinXP, на которой я пробовал), однако его уничтожение может привести к серьезным побочным эффектам. На Windows 7, если вы пытаетесь убить smss.exe
В процессе работы с диспетчером задач автоматически отключается система, как указано в диалоговом окне, отображаемом диспетчером задач.
Некоторые подробности об убийстве SMSS и других системных процессов здесь: http://blogs.technet.com/b/markrussinovich/archive/2005/07/24/running-windows-with-no-services.aspx