我需要从后台通过命令获取一个操作的状态以及进度,通过刷新jsp来获取这些信息(3秒每次),过了一个时间之后,发现用pstree看到有1000多个java子进程之多,并且报IOException:too many open files,请问怎么解决呢?很急,希望大虾救命!
解决方案 »
- CRC-CCITT 算法问题
- 新手提问 关于try的2个小问题(有关读入字符的)
- 诡异的StringBuffer!!!!!!!!
- 高分求救:requestDispatcher.forward导致线程吊死(急急急)
- 关于环境变量的新问题
- java thread问题的不解
- 为什么Dialog会产生两个?
- 我是菜鸟,我求助!
- 我的jtable中显示不出来,急呀!!帮帮忙看看???
- 一个初学者的衷心求助~谢谢高手指教~
- 我自己编了一个程序,有个逻辑错误知道怎么改。给分
- jsp页面调用Bean时,通过<jsp:useBean id="bean1" scope="session" class="aaa.DataQuery" />他是调用无参数的构造函数,但是我想给这个B
<%@ page import="com.xxx.xxx.ProgressData"%>
<%@ page import="com.xxx.xxx.util.BundleString"%>
<%@ page import="com.xx.common.Node"%>
<%//@ page isThreadSafe="false" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<fmt:setBundle basename="resource" var="res"/>
<% System.out.println("-------------Begin progress.jsp----------------");
System.out.println("-------------progress.jsp Thread name is: "+ Thread.currentThread().getName()+"--------------");
ProgressData pd = new ProgressData();
Node node = pd.getProgress();
String pg = node.getValue(pd.PROGRESS);
int progress = (pg == null || "".equals(pg)) ? 0 : Integer.parseInt(pg);
String msg = node.getValue(pd.PROMPT);
String status = node.getValue(pd.STATUS); System.out.println("-------------End progress.jsp----------------------");
try
{
if (msg.indexOf("###") > -1)
{
String[] msgTmp = msg.split("###");
msg = BundleString.getResBundleString(request, msgTmp[0]) + msgTmp[1];
}
else
{
msg = BundleString.getResBundleString(request, msg);
} }
catch(Exception e)
{
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Progress Data</title>
<link href="css/style.css" rel="stylesheet" type="text/css"><script language="javascript">
function init()
{
<%if (progress == 100){%>
parent.updateStatus = false;
<%}%>
parent.updateProgressBar('setupcopy', '<%=progress%>', 3, 'false', '1', '1','', '');
}var msg = "<%=msg%>";
parent.document.getElementById("Message").innerHTML = msg;<%if (progress > 4 && progress < 95){%>
parent.document.getElementById("ProgressNote").innerHTML = "<fmt:message bundle='${res}' key='progress.copyfailnote'/>";
<%}%><%if (progress ==98){%>
parent.document.getElementById("ProgressNote").innerHTML = "<fmt:message bundle='${res}' key='progress.grubnote'/>";
<%}%><%if (progress == 100){%>
parent.document.getElementById("ProgressNote").innerHTML = "<fmt:message bundle='${res}' key='progress.finishaction'/>";
parent.document.getElementById("finishDiv").style.visibility = "visible";
<%}%><%if ("die".equals(status.toLowerCase())){%>
parent.document.getElementById("dieDiv").style.visibility = "visible";
<%}%>
//alert(msg);
</script>
</head>
<body onLoad="javascript:init();">
</body>
</html>
java 18158 root 463w FIFO 0,5 38348 pipe
java 18158 root 464w FIFO 0,5 38353 pipe
java 18158 root 465w FIFO 0,5 38358 pipe
java 18158 root 466w FIFO 0,5 38363 pipe
java 18158 root 467w FIFO 0,5 38368 pipe
java 18158 root 468w FIFO 0,5 38373 pipe
java 18158 root 469w FIFO 0,5 38378 pipe
java 18158 root 470w FIFO 0,5 38383 pipe
java 18158 root 471w FIFO 0,5 38388 pipe
java 18158 root 472w FIFO 0,5 38393 pipe
java 18158 root 473w FIFO 0,5 38400 pipe
java 18158 root 474w FIFO 0,5 38405 pipe
java 18158 root 475w FIFO 0,5 38410 pipe
java 18158 root 476w FIFO 0,5 38416 pipe
java 18158 root 477w FIFO 0,5 38421 pipe
java 18158 root 478w FIFO 0,5 38426 pipe
java 18158 root 479w FIFO 0,5 38431 pipe
java 18158 root 480w FIFO 0,5 38436 pipe
java 18158 root 481w FIFO 0,5 38441 pipe