execShellCmd函數單獨執行沒問題,一放到循環while裡面就不正常了
java.io.IOException: write failed: EBADF (Bad file number)
調試了一下午也沒解決,各位幫我看看..
public void execShellCmd(String cmd){
try{
OutputStream output = process.getOutputStream();
DataOutputStream dataOutput = new DataOutputStream(output);
dataOutput.writeBytes(cmd);
dataOutput.flush();
output.close();
dataOutput.close();
}catch(Throwable t){
t.printStackTrace();
}
}
while(true){
try{
execShellCmd(str);
sleep(time);
}catch(InterruptedException e){
e.printStackTrace();
}
}
這個問題已經解決了,其原因是java自動回收機制所導致的,在第一次循環結束之後,回收器就回收了