1

Мне нужно завершать работу программного обеспечения каждый раз, когда выполняется перекодирование файла фильма. Чтобы автоматизировать это, я сделал небольшой пакетный скрипт. Там я попытался использовать taskkill следующим образом:

taskkill /im taskname.exe /t /f

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

Я также попытался запустить окно cmd от имени администратора и также попробовал PowerShell. Но когда я делаю список задач впоследствии, он все равно показывает задачу.

Забавно, что задача мгновенно завершается, когда я щелкаю ее правой кнопкой мыши в диспетчере задач и завершаю задачу. Какую команду вызывает "конечная задача" в диспетчере задач? Что-то, что я могу использовать для автоматизации в командном файле?

2 ответа2

2

По предположению barlop, стороннее приложение командной строки nircmd.exe сделало свою работу!

nircmd.exe killprocess processname
0

Если вы не можете убить его по имени, но имеете идентификатор процесса, вы можете попробовать убить его по PID:

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .