String cmd = "";
02
Runtime rt = Runtime.getRuntime();
03
Process p = null;
04
try {
05
p = rt.exec(cmd);
06
} catch (Exception e) {
07
08
} finally {
09
if (p != null) {
try {
11
p.waitFor();
12
} catch (InterruptedException e) {
13
e.printStackTrace();
14
}
15
p.destroy();
16
}
17
}
以前也用过Process执行外部命令,比如备份 mysql之内的。一直没用关闭过Process。这次写监控在linux环境中获取内存和cpu等信息定期发送jms到监控服务器。由于没有关闭process,在运行一段时间之后文件描述符被用完导致无法登陆 系统了。然后才知道原来这个也是要关闭的。。代码如上。
作者:绝望的八皮