Java Process执行外部命令之后的关闭问题

         	String cmd = "";
		Runtime rt = Runtime.getRuntime();
		Process p = null;
                try {
			p = rt.exec(cmd);
		} catch (Exception e) {

		} finally {
			if (p != null) {
				try {
					p.waitFor();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				p.destroy();
			}
		}

以前也用过Process执行外部命令,比如备份mysql之内的。一直没用关闭过Process。这次写监控在linux环境中获取内存和cpu等信息定期发送jms到监控服务器。由于没有关闭process,在运行一段时间之后文件描述符被用完导致无法登陆系统了。然后才知道原来这个也是要关闭的。。代码如上。

你可能感兴趣的:(Java Process执行外部命令之后的关闭问题)