Перед тем, как смотреть в изобретать колесо и катиться самостоятельно, кто - нибудь в курсе прикладной / утилита , которая позволяет мне убивать процессы, фильтрация по имени процесса как и владельца процесса? Или это можно сделать с помощью powershell? (К сожалению, моей PowerShell-фу не хватает).
Я смотрел на оба pskill
и taskkill
. Хотя pskill
позволяет завершить по имени процесса, он не позволяет мне дополнительно фильтровать по владельцу процесса. Я также посмотрел на WMI через wmic ( wmic process
), но интерфейс WMI не возвращает владельца процесса (по крайней мере из того, что я могу сказать), поэтому не могу использовать это также.
Обоснование
Я делаю кусок разработки на Windows. Частично это связано с работой с компонентными службами (COM +). В COM + есть общий хост-процесс - dllhost.exe, который используется как для пользовательских (т.е. разработанных мною) элементов, так и для системных процессов. Я могу различить их по владельцу, которым они управляют. Так, например, я хочу уничтожить все принадлежащие мне процессы dllhost.exe, но игнорировать те, которые принадлежат SYSTEM.
Это избавило бы меня от необходимости регулярно заходить в диспетчер задач, выявлять и вручную убивать каждого из них :-)
Вы не выглядели достаточно усердно.
Вы можете даже фильтровать по загруженным модулям, используя
/fi "modules eq libfoo.dll"
.источник