ARM Linux下net-snmp使用pass_persist调用C#程序异常问题
问题:ARM Linux下net-snmp的pass_persist/pass指令无法识别
在ARM Linux环境中,我尝试使用net-snmp的pass_persist指令调用C#程序,在snmpd.conf中配置了两种写法:
第一种:
pass_persist .1.3.6.1.4.1.12345.999.1 /usr/share/test/TestSnmpResponder
第二种:
pass_persist .1.3.6.1.4.1.12345 /usr/share/test/TestSnmpResponder
这个C#程序在命令行下可以正常响应PING(返回PONG)以及GET请求(返回固定整数),但启动net-snmp守护进程时,日志输出如下警告:
/etc/snmp/snmpd.conf: line 12: Warning: Unknown token: pass_persist.
NET-SNMP version 5.9
SNMP基础请求能正常响应,但pass_persist指定的程序从未被调用加载。后来换成pass指令配置,也出现了完全相同的错误提示。
附上C#测试代码:
internal class Program { static void Main(string[] args) { File.AppendAllText("log.txt", $"Started daemon"); using (var inputStream = Console.OpenStandardInput()) using (var strStream = new StreamReader(inputStream)) { while (true) { var command = strStream.ReadLine()!; switch (command.ToUpper()) { case "": //Tells the system to stop and quit Environment.ExitCode = 0; Environment.Exit(0); break; case "PING": Console.WriteLine("PONG"); break; case "GET": string oid = strStream.ReadLine()!; File.AppendAllText("log.txt", $"GET {oid}"); Console.WriteLine("integer"); Console.WriteLine("998877"); break; case "GETNEXT": case "SET": default: break; } } } } }
请问是否是net-snmp编译时缺少相关配置导致的?
内容的提问来源于stack exchange,提问作者Ron Beyer
相关产品推荐
相关产品推荐

