Убить процесс, который говорит: "Доступ запрещен"
У меня есть процесс, который я не могу завершить ни с помощью диспетчера задач, ни с помощью Process Explorer - я получаю сообщение об ошибке "Доступ запрещен". Процесс не является исполняемым файлом Windows.
Как я могу убить это? Есть ли какой-нибудь инструмент, который я мог бы использовать для отмены этой защиты?
Я использую Windows 7, 64-разрядная версия.
11 ответов
Убить защищенный процесс?
http://processhacker.sourceforge.net/index.php
Работает на Windows Server без прав администратора! Yammie!:)
Методы taskkill и powershell (kill) у меня не сработали; он все еще сказал, что доступ запрещен.
Мне повезло больше с этим:
wmic process where name='myprocessname.exe' delete
- Загрузите " Process Explorer".
- В представлении свойств процесса выберите вкладку безопасности.
- Нажмите кнопку разрешений.
- Нажмите расширенную кнопку.
- При необходимости добавьте себя или группу, к которой вы принадлежите.
- Отредактируйте ваши разрешения, чтобы включить "Завершить". (у вас уже должно быть разрешение "Изменить разрешения", или вам не повезло.)
В общем, необходимость убивать задачи означает, что кто-то что-то делает неправильно. Я бы искал другое решение для любой проблемы, с которой вы сталкиваетесь. Возможно, если бы вы сказали нам больше об этом, мы могли бы найти более изящный вариант?
Ни один из упомянутых выше инструментов не помог в моем случае.
См. https://blogs.technet.microsoft.com/markrussinovich/2005/08/17/unkillable-processes/.
Марк Руссинович показывает там, что есть случаи, когда процесс практически невозможно убить.
Вам просто нужно предоставить административные привилегии Process Explorer, не нужно добавлять учетную запись или нет (если вы уже являетесь администратором). Нет необходимости сообщать, какие процессы завершать или нет, или устанавливать какой-либо другой диспетчер процессов (даже мне нравится Process Explorer).
Или:
Щелкните правой кнопкой мыши и "Запуск от имени администратора"
Перейдите в свойства, а затем совместимость и выберите "Запуск от имени администратора"
Теперь никогда не будет отказано в доступе.
Вы находитесь в привилегированном аккаунте? Обычно, когда вы получаете сообщение об ошибке "Отказано в доступе" даже для учетной записи с более высоким уровнем доступа, обычно это происходит из-за того, что вы пытаетесь уничтожить службу, критически важную для работы системы. С другой стороны, некоторые приложения, такие как VMWare, также реализуют свою собственную "защиту процессов", даже для процессов, которые не являются жизненно важными для работы системы.
Если вы находитесь в привилегированном аккаунте, вы можете дать Sysinternals PsKill шанс, я использовал его в прошлом для уничтожения процессов, которые давали мне похожие сообщения об ошибках. Будьте осторожны, какие процессы вы убиваете, это может сделать вашу систему нестабильной.
Не уверен, что причина, но использование обозревателя процессов Sysinternal и нажатие на "Показать детали для всех процессов" в меню "Файл" решило проблему и позволило мне убить службу. Возможно, он переключается в режим администратора только тогда.
- Откройте диспетчер задач. Перейдите на вкладку "Процесс".
- Щелкните правой кнопкой мыши по процессу и выберите Свойства.
- Нажмите на вкладку "Безопасность" и затем нажмите "Изменить".
- В окне "Разрешения" нажмите кнопку "Добавить", чтобы открыть окно "Выбор группы или группы пользователей".
- В окне Выбор пользователей или групп вы можете ввести имена пользователей учетных записей, для которых вы хотите применить ограничения.
- Выберите свое имя пользователя и установите разрешения для запрета / разрешения, установив флажок под опцией запретить / разрешить.
- Нажмите Применить, а затем ОК.
Попробуйте использовать APT (Advanced Process Terminator), легко убивает любой процесс.
Также возможно убить команды с помощью Windows PowerShell, используйте get-process
перечислить запущенные процессы и затем использовать stop-process
с идентификатором задачи, чтобы убить его. Стоп-Процесс.
get-process Unkillable.exe
stop-process 1234
Возможно, вам понадобится запустить Windows PowerShell специально как администратор.
вам нужно открыть оболочку с помощьюsystem
разрешения убить процесс! Psexec от Sysinternal — ваш друг:
psexec -s taskkill /im MyTask.exe /f
или если процесс на самом деле является услугой:
psexec -s sc stop MyService