Я спрашиваю, что моя программа использует стороннее программное обеспечение, которое иногда оставляет после себя бесхозные процессы, которые не имеют обратной связи с моей программой или сторонним процессом. Эти бесхозные процессы со временем начинают накапливаться и потреблять тонны ресурсов. Я хотел бы периодически убивать их, но для этого мне нужно знать наверняка, что они были созданы моей программой, а не какой-либо другой программой. Я просмотрел бесхозные процессы в Process Explorer и, глядя на свойства процесса, я вижу поле под названием «Текущий каталог». Текущий каталог для осиротевшего процесса - это каталог установки моей программы. Это дало бы мне уверенность, что я убиваю процесс, созданный моей программой.
Поскольку эти процессы создаются третьей стороной, мне нужно просто убить их после того, как они будут созданы, запустив на них taskkill или что-то в этом роде. Есть ли способ определить текущий рабочий каталог процесса с помощью готовых команд Windows в пакетном файле? Если это можно сделать с помощью запросов wmic, это было бы предпочтительнее, но я не могу найти текущий рабочий каталог при использовании wmic. Я предполагаю, что если Process Explorer сможет получить эту информацию, я тоже смогу получить ее с помощью некоторых пакетных команд.
taskkill /?
в командной строке - person rene   schedule 14.12.2013taskkill /fi "IMAGENAME eq explorer.exe"
. Это не помогает мне определить, был ли процесс создан моей программой. - person user972276   schedule 14.12.2013