2011-05-17 41 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中是否有效?