Попытка программно получить частный рабочий набор процесса.
В настоящее время я могу получить рабочий набор без проблем, но возникают проблемы с получением частного рабочего набора.
Вот метод:
private void GetProcessesForServer(string serverName)
{
var runningProcesses = new Process[0];
try
{
runningProcesses = Process.GetProcesses(serverName);
}
catch (Exception e)
{
ResultsPanel.Controls.Add(new Label { Text = string.Format("There was an error: {0}", e.GetBaseException().Message) });
}
IOrderedEnumerable<CustomProcess> processes = runningProcesses
.Select(process => new CustomProcess(process.Id, process.ProcessName, (process.WorkingSet64 / 1024)))
.ToList()
.OrderBy(process => process.ProcessName);
if (processes.Count() > 0)
ResultsLabel.Text = string.Format("Current running processes on {0}", ServerNamesDropDown.SelectedItem.Text);
ResultsGridView.DataSource = processes;
ResultsGridView.DataBind();
}
Итак, я передаю имя сервера, затем пытаюсь получить все запущенные процессы для этого сервера, а затем связываю список процессов с представлением таблицы. Все работает без каких-либо проблем, однако мне нужно получить личный рабочий набор - аналогично тому, что вы видите в диспетчере задач Windows - а не полный рабочий набор.
Большое спасибо,
Тим