Получить информацию о запущенных процессах - PullRequest
1 голос
/ 22 января 2010

Мне нужно запустить монитор на некоторых машинах, чтобы узнать, какие процессы его блокируют. Поэтому мне хотелось бы регистрировать ту же информацию, которую вы можете найти в диспетчере задач, о каждом выполняемом процессе.
Пока что у меня есть информация о времени процессора с классом процесса C #, но я также хотел бы знать, сколько памяти он использует. Также было бы очень полезно узнать, не является ли данное приложение или процесс «не отвечающим».
Любые идеи о том, как получить всю эту информацию. (Могут ли помочь System.Events?)

Ответы [ 2 ]

2 голосов
/ 22 января 2010

Я согласен с Ником, WMI - ваш лучший выбор для получения подробной информации о процессе.

Но есть и кое-что, что вас может заинтересовать, Powershell (поставляется с Windows 7 и доступен для загрузки для других ОС) не только поддерживает WMI, но и представляет артефакты WMI в виде объектов, которые вы можете впоследствии выполнять запросы linq через конвейер. в другие вызовы PowerShell и т. д., он также полностью программируемый и / или пригодный для сценариев, это очень крутая технология, которую стоит изучить ... но ... это разумное вложение времени для изучения.

Power shell Msdn site

0 голосов
/ 22 января 2010

Я думаю, что вам лучше всего использовать WMI и получить все экземпляры класса Win32_Process . Вы можете получить все экземпляры Win32_Process, используя ManagementObjectSearcher .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...