大侠门,请亮剑吧!吗呀!一个奇怪的问题Runtime.getRuntime().exec
最近做了一个实时监控的程序.
程序主要的中心为
1.----------------------------------------------------------------------
timer=new Timer(true);
timer.schedule(new ICMP() , 0 , Integer.parseInt(str[0][0])*60*1000);//定时执行调用ICMP() 类
2.----------------------------------------------------------------------
ICMP() 类里主要方法为
public synchronized void ping(String host,String nename) {
Process process = Runtime.getRuntime().exec(command);//command为一些ping 的命令.
BufferedReader in = new BufferedReader(new InputStreamReader(
process.getInputStream()));
}
------------------------------------------------------------------------
(注:一般设定为20分钟左右执行一次,而且每次ping的命令都是从固定的列表中取得,都一样,就是每次所执行的ping命令都一样.)
程序现在放在10几台unix服务器上.
但是现在发现,有的机器运行一天左右就会发生
Exception in thread "Timer-0" java.lang.NullPointerException
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
这样的错误.
有的机器则是4,5天后才有问题,有的一直没有.每台机器上的程序都一样.
崩溃中!
后来定位错误应该是 发生在这
Process process = Runtime.getRuntime().exec(command);//command为一些ping 的命令.
Runtime.getRuntime()发生的错误!
侠客们,请亮剑!!!砍死我吧!!