2011-05-17 42 views
0

当我在纯java项目中运行下面的代码时,一切正常。在JBoss服务器(JSP-servlet模型)上运行时,snmpwalk上的IOException异常

Process p = Runtime.getRuntime().exec(cmd); 

- >其中cmd = "snmpwalk -v 2c -c public 192.168.11.95 hrStorageAllocationUnits.1"

但是当我将代码放在一个Java servlet,显示此错误:

ERROR [STDERR] java.io.IOException: CreateProcess: snmpwalk -v 2c -c public 192.168.11.95 hrStorageAllocationUnits.1 error=2 
ERROR [STDERR] at java.lang.ProcessImpl.create(Native Method) 
ERROR [STDERR] at java.lang.ProcessImpl.<init>(ProcessImpl.java:81) 
ERROR [STDERR] at java.lang.ProcessImpl.start(ProcessImpl.java:30) 
ERROR [STDERR] at java.lang.ProcessBuilder.start(ProcessBuilder.java:451) 
ERROR [STDERR] at java.lang.Runtime.exec(Runtime.java:591) 
ERROR [STDERR] at java.lang.Runtime.exec(Runtime.java:429) 
ERROR [STDERR] at java.lang.Runtime.exec(Runtime.java:326) 

回答

0

是什么这个servlet有一个路径?如果将cmd更改为"/usr/bin/snmpwalk -v 2c -c public 192.168.11.95 hrStorageAllocationUnits.1"(或者如果您在其他地方安装了snmpwalk,则是/ usr/bin以外的内容),它在servlet中是否有效?