如何使用 PowerSNMP for .NET 获取活动进程列表?

How can I get a list of active processes using PowerSNMP for .NET?

我想使用 dart PowerSNMP for .NET 来检索所有进程及其各自的 pid 的列表,并在我收到事件消息时将它们写入 Visual Studio 控制台。我假设这是通过遍历 mib 树然后检索特定 OID 的实际值来完成的,但我不太清楚这一切是如何工作的。

例如,假设我有一个接收消息的代理。

private void agent1_MessageReceived(Agent agent, RequestMessage request, object state)
{
        //print the processes and pids using power snmp
        String process = "";

        //concat processes and pids
                 ....


        Console.WriteLine(process);

 }

.Net框架中有一个函数(System.Diagnostics.Process)

记得包括:using System.Diagnostics;

Process.GetProcesses();

returns 一组进程

该库(或任何其他 SNMP 库)不会帮助您完成所有任务。

您必须在您的代理中实施 Host Resources MIB,以便 SNMP 管理器可以查询 hrSWRunTable

http://www.net-snmp.org/docs/mibs/host.html#hrSWRunTable

要实现此 table,您可以按照 Charles 的指示使用 Process.GetProcesses

关于如何扩展PowerSNMP的代理,可以参考其源码和Dart的文档。