【发布时间】:2011-04-15 00:24:01
【问题描述】:
尝试以编程方式获取进程的私有工作集。
目前我能够毫无问题地获得工作集,但无法获得私有工作集。
方法如下:
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 任务管理器中看到的内容 - 而不是总工作集。
非常感谢, 蒂姆
【问题讨论】: