Я пытался закрыть неотвечающий процесс, и после первого нажатия кнопки «Завершить процесс» ничего не произошло. Поэтому я сделал это снова, и на этот раз появилось окно с надписью «Доступ запрещен». В конце концов процесс завершился, но это заставило меня задуматься ..
Если бы я запускал диспетчер задач в качестве администратора, он все равно дал бы мне это сообщение «Доступ запрещен»? Или, по сути, Windows 10 запускает диспетчер задач как администратор по умолчанию (когда учетная запись пользователя является администратором). Кроме того, есть ли разница между запуском от имени администратора или нет ?
Запуск его от имени администратора через этот метод:
Я не вижу каких - либо заметных различий между этим и просто делать Ctrl+ Shift+ Escape.
Примечание. Этот вопрос специально для Windows 10 (и, возможно, 8 / 8.1), и я использую Pro. Кроме того, мой UAC установлен на «Никогда не уведомлять».
источник
Ответы:
Только если он запускается из учетной записи администратора. Ответ Бена Н. ниже дает отличное объяснение того, как это на самом деле реализовано.
Да. Существует множество процессов, которые даже администратору не разрешено завершать. Кроме того, попытка завершить несуществующую задачу также приводит к появлению этого сообщения об ошибке.
Если причина, по которой вы получили сообщение «Доступ запрещен», связана с тем, что диспетчер задач не запущен от имени администратора, вы получите это очень явное сообщение, в котором говорится следующее:
Да, но вы должны запустить его из учетной записи без прав администратора, чтобы увидеть это.
Кстати, все вышеперечисленное поведение точно такое же, как в Windows 8 / 8.1
источник
Существующий ответ очень хорош. Я предоставлю некоторые технические детали, для тех, кто любит такие вещи.
Taskmgr.exe
(in\Windows\System32
) - это программа, которая запускается при вызове диспетчера задач. Осматривая его с шестнадцатеричным редактором, я обнаружил , что его манифест наборовrequestedExecutionLevel
дляhighestAvailable
. Это означает, что если вы работаете как локальный администратор, диспетчер задач потребует от вас повышения уровня. Вы можете легко продемонстрировать это, установив UAC на высший уровень и нажав Ctrl + Shift + Esc, чтобы запустить диспетчер задач, отметив, что он выдает запрос на повышение прав. Если UAC не на самом высоком уровне, диспетчер задач может беззвучно повысить уровень, потому что это неотъемлемый компонент Windows. Короче говоря, да, диспетчер задач по умолчанию запускается от имени администратора, если это возможно .highestAvailable
(в отличие отrequireAdministrator
) позволяет пользователям, не являющимся администраторами, запускать программу без запроса на повышение уровня, но они, конечно, не смогут выполнять какие-либо административные функции из нее.Быстрый и простой способ проверить, работает ли программа с повышенными правами, - включить столбец виртуализации UAC на вкладке «Сведения» диспетчера задач. Если и только если запись процесса в этом столбце не разрешена , она повышается. (Административные процессы не могут быть перенаправлены на совместимость.) Вы также можете проверить, обладает ли он мощными привилегиями (например
SeSecurityPrivilege
), используя Sysinternals Process Explorer .В ответ на ваш вопрос о том, что по-прежнему отказано в доступе к некоторым процессам, в Windows есть концепция защищенных процессов, которые абсолютно не могут быть затронуты в пользовательском режиме, даже процессами, выполняющимися как
SYSTEM
; защита обеспечивается ядром. Только основные системные службы получают такую защиту. Одним из таких процессов являетсяcsrss
.источник
Я обнаружил другую возможную причину этого сообщения об ошибке, которую я никогда не думал бы проверять при устранении ошибки «Отказано в доступе».
Задний план
Microsoft представила новый механизм управления ресурсами, начиная с Windows 8. Когда ресурсы системы пользуются повышенным спросом, Windows может выбрать некоторые процессы для перевода в состояние «приостановлено», чтобы высвободить свои ресурсы для других процессов. Приостановленный процесс по существу замораживается до тех пор, пока система не отключит его, что чаще всего происходит в ответ на инициирование пользователем взаимодействия с этим процессом. По какой-то причине диспетчер задач не освобождается от этого механизма, и на самом деле он имеет особенно неожиданное поведение: когда Windows переводит taskmgr.exe в состояние Suspended, его параметр «Скорость обновления» также изменяется, независимо от того, что вы установили. чтобы, чтобы сделать паузу, Однако, когда процесс не приостановлен, настройка «Скорость обновления» не восстанавливается до исходного значения - она остается на настройке « Приостановлено» !
Причина ошибки
Когда в «Диспетчере задач» «Скорость обновления» установлено значение « Приостановлено» , на вкладке «Сведения» могут отображаться процессы, которые больше не выполняются. Если это так, и вы пытаетесь «завершить процесс» на таком несуществующем процессе, вы получите ошибку «Отказано в доступе». (Краткосрочное) решение * состоит в том, чтобы убедиться, что для параметра «Скорость обновления» задано другое значение, например « Нормальный» , перед попыткой завершить процесс.
* Что касается долгосрочного решения по предотвращению переключения параметра «Скорость обновления» в первую очередь на « Приостановлено» (что происходит постоянно ) ... Я все еще ищу это!
источник