В русской версии Windows XP SP3 команды tasklist и taskkill отрабатывают неправильно:
Во-первых, непонятно, почему для команды tasklist в качестве одного из параметров приходится использовать русское слово "состояние" а не английское "status". Тем более, что для команды taskkill необходимо использовать именно "status"
Например:
taskkill /fi "status eq not responding"
tasklist /fi "состояние eq not responding"
Во-вторых, сами команды отрабатывают неправильно. Запустите, к примеру, команду:
tasklist /fi "состояние eq running" и получите сообщение:
"Информация: Задачи, отвечающие заданным критериям, отсутствуют"
Более того: зависшие приложения не определяются в принципе.
В английской Windows XP x64 все работает корректно, в том числе и определение зависших программ.