Taskkill/f не убивает процесс

Когда я запускаю экспериментальный экземпляр VS от VS для отладки и прекращения отладки (иногда непосредственно из родительского VS), процесс zombile devenv.exe остается запущенным, который я не могу убить. Это относится ко многим из моих библиотек.

Поскольку я зарегистрирован на этой 64-битной машине Win7 в качестве администратора, я ожидаю, что смогу убить любой процесс, который я хочу.

I tried (from Administrator command prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

Нет возврата какой-либо ошибки, а TASKKILL и PSKILL возвращаются сообщения об успешном завершении/уничтожении процесса. Но devenv.exe все еще работает, он не восстанавливается повторно, поскольку PID остается постоянным. Он уходит только при перезапуске системы, что не является отличным решением.

Примечание. LockHunter показывает, что у devenv есть замок. И он не может разблокировать его.

Process Monitor shows devenv to be in some kind of 'Process Profiling' loop

Вышеприведенный снимок экрана - это вывод Process Monitor, показывающий, что в какой-то форме цикл "Профилирование процесса" (щелкните правой кнопкой мыши по нему и нажмите "Открыть изображение" на новой вкладке, чтобы увидеть его правильно).

Любые идеи о том, как убить такой процесс в Windows?

Ответ 1

вы также должны убить дочерний процесс, если кто-либо породил, чтобы успешно уничтожить ваш процесс.

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process

Ответ 2

Просто была проблема с Windows Server 2008 R2, и ничего не помогло, а не taskmanager или taskkill. Но, windows powershell запускается, когда администратор работал с "kill -id pid"

Ответ 3

Методы taskkill и powershell (kill) у меня не сработали; это все еще сказало "Доступ запрещен".

Мне повезло больше с этим:

wmic process where "name='myprocessname.exe'" delete

Ответ 4

Reboot - единственное решение, которое работало для меня (пока).

Превосходный Марк Руссонович имеет хорошее объяснение неудобных процессов.

Подводя итог, вполне возможно, что из-за необработанных запросов ввода-вывода, которые не были обработаны должным образом (с помощью драйвера устройства, к которому ваша программа, возможно, обращалась)

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

Ответ 5

Я знаю это поздно, но taskkill /im devenv.exe /t /f должен работать. /t также убивает дочерние процессы.

Ответ 6

В моем случае, после нескольких дней борьбы с этой проблемой (это происходило с процессами VirtualBox и µTorrent), я обнаружил, что это было вызвано проблемой сетевого драйвера, спровоцированной обновлением Windows Update KB4338818 (Windows 7 x64). После удаления этого патча все вернулось на круги своя. Я просто подумал, что это может быть полезно для других.

Ответ 7

Я видел это несколько раз, и единственным решением было перезагрузка.

Вы можете попробовать использовать PowerShell: Get-Process devenv | убить

Но если другие методы не удались, возможно, это тоже произойдет.:-(

Ответ 8

Я мог бы решить мою проблему, рассматривая эту проблему, убив explorer.exe, которая, в свою очередь, была зависимой от процесса, который я хотел убить. Я думаю, это также может произойти, если процессы открывают интерфейсы через крючок, который может быть заблокирован.

Ответ 9

Нативный tskill <pid> (или tskill.exe <pid>) работал на меня в Windows 10, где не было другого нативного ответа.

В моем случае у меня были некоторые процессы chrome.exe, для которых работал "Конечная задача" диспетчера задач, но ни taskkill /F /T /PID <pid>, ни powershell kill -id <pid> не работали (даже если обе оболочки выполняются как admin).

Это очень странно, поскольку taskkill считается более подходящей версией tskill.

В моем случае, чтобы убить все экземпляры определенной задачи, я использовал FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i

Ответ 10

Некоторые из файлов Exe, зависимые от некоторых служб,

Итак, вам нужно найти соответствующий сервис и остановиться сначала.

Ответ 11

Я собираюсь предложить кое-что здесь, потому что я недавно столкнулся с той же самой проблемой, и я попробовал все возможные вещи в ответах, но ничего не работало. Я получаю ошибки как

ОШИБКА: процесс с PID 23908 не может быть прерван. Причина: нет запущенного экземпляра задачи.

используя командную строку. Power shell тоже не помог. он просто выполнял бы команды и не получил ответа, если процесс еще не запущен.

Пока я не решил удалить связанный файл .exe. Поскольку файл был активным, окна не позволяли удалить, но в этом окне предупреждения он дал мне имя процесса, который удерживал задачу, которую я хотел убить. Я смог убить исходное задание и, таким образом, ошибочный процесс.

Определенно стоит попробовать, если ни одно из решений не сработает.

Ответ 12

Я получил следующие результаты с taskkill

>taskkill /im "MyApp.exe" /t /f
ERROR: The process with PID 32040 (child process of PID 54176) could not be terminated.
Reason: There is no running instance of the task.

>taskkill /pid 54176  /t /f
ERROR: The process "54176" not found.

То, что сработало для меня было SysInternal в pskill

>pskill.exe -t 32040

PsKill v1.15 - Terminates processes on local or remote systems
Copyright (C) 1999-2012  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 32040 killed.

Вы можете получить pskill с сайта pskill Live

Ответ 13

Я сделал следующее на повышенном PowerShell:

PS C:\Windows\system32> wmic.exe /interactive:off process where "name like ''java%''" call terminate

Вывод команды:

Executing (\\SRV\ROOT\CIMV2:Win32_Process.Handle="3064")->terminate()
Method execution successful.

Выходные параметры:

instance of __PARAMETERS
{ReturnValue = 0; };

Я получил некоторую информацию о синтаксисе: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb

Ответ 14

Та же проблема произошла со мной в VirtualBox в отношении процессов Java.

В моем случае это было связано с ошибкой в обновлении Windows Update KB4338818 (Windows 7 x64).

Я решил это, сделав следующее:

  • Удалить обновление Windows Update KB4338818
  • Установите обновление для Windows Update KB4338821

Ответ 15

У меня проблема с отлаженными процессами с gdb в Code:: Blocks. Как только он висит при случайном входе в инструкции из объема ваших источников (как libs без источников или системных функций), вы не можете отказаться от отладки ни из Code:: Blocks, ни из Task-Manager.

Я думаю, что это ошибка при реализации gdb в Code:: Blocks, но также может быть в gdb;)

Мое решение:

taskkill /F /IM process.exe /T

Здесь показан PID родительского процесса. Теперь убейте родителя:

taskkill /PID yyyy

Оба ушли.

Готово.

Ответ 16

если taskkill/F/T/PID <pid> не работает. Попробуйте открыть свой терминал через Run as Administrator.

Найдите команду cmd в меню Windows и щелкните правой кнопкой мыши " Run as Administrator, а затем снова введите команду. Это сработало для меня.

Ответ 17

Если вы загружаете бесплатный пакет sysinternals, у него есть приложение pskill.exe, которое хорошо работает для задач следующих типов: pskill.exe "имя_процесса". Оно работает с этими процессами даже без использования опции -t.

Ответ 18

Запуск в качестве администратора работает для меня:

1. поиск cmd в windows

2. щелкните правой кнопкой мыши на cmd выберите "Запуск от имени администратора".

3. netstat -ano | findstr :8080 netstat -ano | findstr :8080

4. taskkill/pid (your number)/F

My result

Ответ 19

Для меня способ, которым это работало, - я должен убить родительский процесс. Выяснить родительский процесс и убить его

taskkill /IM "parent_process_name.exe" /T /F

Ответ 20

NirSoft NirCmd выполнил эту работу для меня:

nircmd killprocess "process name.exe"

Страница управления killprocess здесь.

Ответ 21

Я столкнулся с той же проблемой, когда я начал приложение node в порту 3000, и он не закрылся правильно, и процесс продолжался даже после перезапуска.

Ни одна из команд taskkill или powershell, работающих в режиме администратора, не работала для меня.

Я использовал MS Process Expoler > Properties > Image > Current directory (который должен был быть моим каталогом проектов).

Наконец, мне пришлось перезагрузиться в SafeMode и переименовать папку проекта и перезапустить. Процессы node, которые потребляли порт 3000, сами убили.

Ответ 22

У меня была такая же проблема, попробуйте запустить cmd как "Запуск от имени администратора".

Ответ 23

У меня была точно такая же проблема, я нашел это исправление на другом сайте: powershell.exe "Get-Process processname | Stop-Process", он работал для меня, и я был в той же лодке, где мне пришлось перезапустить, /T не будет работать,

Ответ 24

Как отметил Фрэнсис, некоторые процессы не могут быть прекращены из-за

"необработанные запросы ввода/вывода"

По своему опыту я имел дело с глючным графическим драйвером, который приводил к сбою моей игры и невозможности его закрыть, так как в крайнем случае я отключил графический драйвер, и процесс, наконец, пошел.

Если ваше приложение ожидает ресурс от драйвера, такого как Wi-Fi или графический, попробуйте отключить их в диспетчере устройств, вам нужно немного покопаться, чтобы увидеть, где они зависли.

Это, конечно, не рекомендуется, но иногда вам больше нечего терять.

Ответ 25

У меня была та же проблема, и, как многие другие здесь говорили, ни одна из нормальных команд Kill не сработала. Моим проблемным файлом был исполняемый файл, который запускался из сетевой папки пользователем на сервере удаленных рабочих столов. С несколькими общими пользователями не легко перезапустить в течение рабочего дня. Даже когда пользователь вышел из exe файла, он все еще был в диспетчере задач. Я отправил на сервер, где папка была открыта для общего доступа, и из раздела "Управление компьютером" → "Сеансы" нашел пользователя, у которого сеанс все еще открыт с этого сервера RDP, даже если он был отключен. Щелкните правой кнопкой мыши → Закрыть сеанс, и блокировка файла была снята.

Бьет меня, почему я не мог покончить с таксом. Сообщение об ошибке, которое я получал при попытке удалить файл, было "Действие не может быть завершено, потому что файл открыт в системе"

Надеюсь, это поможет кому-то еще.

Ответ 26

Запустите CMD, так как Admin исправит проблему

Ответ 27

Ничего из этой страницы не помогло, Anvir Task Manager.

Но может случиться так, что мой процесс размораживается перед убийством, поэтому, пожалуйста, повысьте/уменьшите, если это поможет вам или нет.

Ответ 28

Reboot.

(если вам не нравится использовать Linux вместо этого)

нормальное убийство

taskkill /F /IM app.exe

может выйти из строя, и родитель не может существовать

taskkill /T /F /IM app.exe

и power-shell

kill -id 1234

может быть в равной степени неэффективным.

Ответ 29

  • открыть диспетчер задач
  • выберите вкладку услуг
  • выберите процесс (devenv.exe), который вы хотите убить, и нажмите кнопку службы
  • прямо в процессе, выберите свойства и отключите его...