Ответ 1
вы также должны убить дочерний процесс, если кто-либо породил, чтобы успешно уничтожить ваш процесс.
taskkill /IM "process_name" /T /F
/T = kills child process
/F = forceful termination of your process
Когда я запускаю экспериментальный экземпляр 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, показывающий, что в какой-то форме цикл "Профилирование процесса" (щелкните правой кнопкой мыши по нему и нажмите "Открыть изображение" на новой вкладке, чтобы увидеть его правильно).
Любые идеи о том, как убить такой процесс в Windows?
вы также должны убить дочерний процесс, если кто-либо породил, чтобы успешно уничтожить ваш процесс.
taskkill /IM "process_name" /T /F
/T = kills child process
/F = forceful termination of your process
Просто была проблема с Windows Server 2008 R2, и ничего не помогло, а не taskmanager или taskkill. Но, windows powershell запускается, когда администратор работал с "kill -id pid"
Методы taskkill и powershell (kill) у меня не сработали; это все еще сказало "Доступ запрещен".
Мне повезло больше с этим:
wmic process where "name='myprocessname.exe'" delete
Reboot - единственное решение, которое работало для меня (пока).
Превосходный Марк Руссонович имеет хорошее объяснение неудобных процессов.
Подводя итог, вполне возможно, что из-за необработанных запросов ввода-вывода, которые не были обработаны должным образом (с помощью драйвера устройства, к которому ваша программа, возможно, обращалась)
http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Я знаю это поздно, но taskkill /im devenv.exe /t /f
должен работать. /t
также убивает дочерние процессы.
В моем случае, после нескольких дней борьбы с этой проблемой (это происходило с процессами VirtualBox и µTorrent), я обнаружил, что это было вызвано проблемой сетевого драйвера, спровоцированной обновлением Windows Update KB4338818 (Windows 7 x64). После удаления этого патча все вернулось на круги своя. Я просто подумал, что это может быть полезно для других.
Я видел это несколько раз, и единственным решением было перезагрузка.
Вы можете попробовать использовать PowerShell: Get-Process devenv | убить
Но если другие методы не удались, возможно, это тоже произойдет.:-(
Я мог бы решить мою проблему, рассматривая эту проблему, убив explorer.exe, которая, в свою очередь, была зависимой от процесса, который я хотел убить. Я думаю, это также может произойти, если процессы открывают интерфейсы через крючок, который может быть заблокирован.
Нативный 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
Некоторые из файлов Exe, зависимые от некоторых служб,
Итак, вам нужно найти соответствующий сервис и остановиться сначала.
Я собираюсь предложить кое-что здесь, потому что я недавно столкнулся с той же самой проблемой, и я попробовал все возможные вещи в ответах, но ничего не работало. Я получаю ошибки как
ОШИБКА: процесс с PID 23908 не может быть прерван. Причина: нет запущенного экземпляра задачи.
используя командную строку. Power shell тоже не помог. он просто выполнял бы команды и не получил ответа, если процесс еще не запущен.
Пока я не решил удалить связанный файл .exe. Поскольку файл был активным, окна не позволяли удалить, но в этом окне предупреждения он дал мне имя процесса, который удерживал задачу, которую я хотел убить. Я смог убить исходное задание и, таким образом, ошибочный процесс.
Определенно стоит попробовать, если ни одно из решений не сработает.
Я получил следующие результаты с 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.
Я сделал следующее на повышенном 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
Та же проблема произошла со мной в VirtualBox в отношении процессов Java.
В моем случае это было связано с ошибкой в обновлении Windows Update KB4338818 (Windows 7 x64).
Я решил это, сделав следующее:
У меня проблема с отлаженными процессами с gdb в Code:: Blocks. Как только он висит при случайном входе в инструкции из объема ваших источников (как libs без источников или системных функций), вы не можете отказаться от отладки ни из Code:: Blocks, ни из Task-Manager.
Я думаю, что это ошибка при реализации gdb в Code:: Blocks, но также может быть в gdb;)
Мое решение:
taskkill /F /IM process.exe /T
Здесь показан PID родительского процесса. Теперь убейте родителя:
taskkill /PID yyyy
Оба ушли.
Готово.
если taskkill/F/T/PID <pid>
не работает. Попробуйте открыть свой терминал через Run as Administrator
.
Найдите команду cmd
в меню Windows и щелкните правой кнопкой мыши " Run as Administrator
, а затем снова введите команду. Это сработало для меня.
Если вы загружаете бесплатный пакет sysinternals, у него есть приложение pskill.exe, которое хорошо работает для задач следующих типов: pskill.exe "имя_процесса". Оно работает с этими процессами даже без использования опции -t.
Запуск в качестве администратора работает для меня:
1. поиск cmd
в windows
2. щелкните правой кнопкой мыши на cmd
выберите "Запуск от имени администратора".
3. netstat -ano | findstr :8080
netstat -ano | findstr :8080
4. taskkill/pid (your number)/F
Для меня способ, которым это работало, - я должен убить родительский процесс. Выяснить родительский процесс и убить его
taskkill /IM "parent_process_name.exe" /T /F
NirSoft NirCmd выполнил эту работу для меня:
nircmd killprocess "process name.exe"
Страница управления killprocess здесь.
Я столкнулся с той же проблемой, когда я начал приложение node в порту 3000, и он не закрылся правильно, и процесс продолжался даже после перезапуска.
Ни одна из команд taskkill или powershell, работающих в режиме администратора, не работала для меня.
Я использовал MS Process Expoler > Properties > Image > Current directory (который должен был быть моим каталогом проектов).
Наконец, мне пришлось перезагрузиться в SafeMode и переименовать папку проекта и перезапустить. Процессы node, которые потребляли порт 3000, сами убили.
У меня была такая же проблема, попробуйте запустить cmd
как "Запуск от имени администратора".
У меня была точно такая же проблема, я нашел это исправление на другом сайте: powershell.exe "Get-Process processname | Stop-Process", он работал для меня, и я был в той же лодке, где мне пришлось перезапустить, /T не будет работать,
Как отметил Фрэнсис, некоторые процессы не могут быть прекращены из-за
"необработанные запросы ввода/вывода"
По своему опыту я имел дело с глючным графическим драйвером, который приводил к сбою моей игры и невозможности его закрыть, так как в крайнем случае я отключил графический драйвер, и процесс, наконец, пошел.
Если ваше приложение ожидает ресурс от драйвера, такого как Wi-Fi или графический, попробуйте отключить их в диспетчере устройств, вам нужно немного покопаться, чтобы увидеть, где они зависли.
Это, конечно, не рекомендуется, но иногда вам больше нечего терять.
У меня была та же проблема, и, как многие другие здесь говорили, ни одна из нормальных команд Kill не сработала. Моим проблемным файлом был исполняемый файл, который запускался из сетевой папки пользователем на сервере удаленных рабочих столов. С несколькими общими пользователями не легко перезапустить в течение рабочего дня. Даже когда пользователь вышел из exe файла, он все еще был в диспетчере задач. Я отправил на сервер, где папка была открыта для общего доступа, и из раздела "Управление компьютером" → "Сеансы" нашел пользователя, у которого сеанс все еще открыт с этого сервера RDP, даже если он был отключен. Щелкните правой кнопкой мыши → Закрыть сеанс, и блокировка файла была снята.
Бьет меня, почему я не мог покончить с таксом. Сообщение об ошибке, которое я получал при попытке удалить файл, было "Действие не может быть завершено, потому что файл открыт в системе"
Надеюсь, это поможет кому-то еще.
Запустите CMD, так как Admin исправит проблему
Ничего из этой страницы не помогло, Anvir Task Manager.
Но может случиться так, что мой процесс размораживается перед убийством, поэтому, пожалуйста, повысьте/уменьшите, если это поможет вам или нет.
(если вам не нравится использовать Linux вместо этого)
нормальное убийство
taskkill /F /IM app.exe
может выйти из строя, и родитель не может существовать
taskkill /T /F /IM app.exe
и power-shell
kill -id 1234
может быть в равной степени неэффективным.