为什么在java中执行最后一个重新启动命令时服务器会停机?
我正在运行下面的命令以获取上次服务器重新启动时的信息为什么在java中执行最后一个重新启动命令时服务器会停机?,java,linux,jsp,tomcat,process,Java,Linux,Jsp,Tomcat,Process,我正在运行下面的命令以获取上次服务器重新启动时的信息 last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}' 在java中: String[] rebootProcess = { "/bin/sh", "-c","last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}'" }; Process reboot = Runtime.getRuntime().exec(re
last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}'
在java中:
String[] rebootProcess = { "/bin/sh", "-c","last reboot -F | head -1 | awk '{print $5,$6,$7,$8,$9}'" };
Process reboot = Runtime.getRuntime().exec(rebootProcess);
reboot.waitFor();
BufferedReader rebootInput = new BufferedReader(new InputStreamReader(reboot.getInputStream()));
BufferedReader rebootError = new BufferedReader(new InputStreamReader(reboot.getErrorStream()));
String result;
while ((result = rebootInput.readLine()) != null) {
out.println(result);
}
while ((result = rebootError.readLine()) != null) {
out.println(result);
}
为了运行这个命令,我使用了processruntime,在运行jsp文件时,我得到了下面的错误信息,tomcat马上就可以运行了。我需要帮助
Error :
java.io.IOException: Cannot run program "bin/sh": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at org.apache.jsp.jsp.Glaceinstancemonitor_jsp._jspService(Glaceinstancemonitor_jsp.java:231)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 33 more
05-Jan-2017 13:01:45.199 INFO [Thread-10] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8081"]
05-Jan-2017 13:01:45.286 INFO [Thread-10] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]
05-Jan-2017 13:01:45.336 INFO [Thread-10] org.apache.catalina.core.StandardService.stopInternal Stopping service Catalina
05-Jan-2017 13:01:47.712 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [jsp]
05-Jan-2017 13:01:48.713 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [jsp]
05-Jan-2017 13:01:49.714 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [jsp]
05-Jan-2017 13:01:50.697 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [GlaceCriticalCopy] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. Stack trace of request processing thread:
java.lang.Object.wait(Native Method)
java.lang.Thread.join(Thread.java:1245)
java.lang.Thread.join(Thread.java:1319)
java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
java.lang.Shutdown.runHooks(Shutdown.java:123)
java.lang.Shutdown.sequence(Shutdown.java:167)
java.lang.Shutdown.exit(Shutdown.java:212)
java.lang.Runtime.exit(Runtime.java:109)
java.lang.System.exit(System.java:971)
org.apache.jsp.jsp.Glaceinstancemonitor_jsp._jspService(Glaceinstancemonitor_jsp.java:250)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
05-Jan-2017 13:01:50.705 INFO [Thread-10] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8081"]
错误:
java.io.IOException:无法运行程序“bin/sh”:错误=2,没有这样的文件或目录
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
位于java.lang.Runtime.exec(Runtime.java:620)
位于java.lang.Runtime.exec(Runtime.java:485)
位于org.apache.jsp.jsp.Glaceinstancemonitor\u jsp.\u jsp服务(Glaceinstancemonitor\u jsp.java:231)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
位于org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
运行(Thread.java:745)
原因:java.io.IOException:error=2,没有这样的文件或目录
位于java.lang.UNIXProcess.forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:248)
在java.lang.ProcessImpl.start(ProcessImpl.java:134)处
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 33多
2017年1月5日13:01:45.199信息[Thread-10]org.apache.coyote.AbstractProtocol.pause Pausing Pausing ProtocolHandler[“http-nio-8081”]
2017年1月5日13:01:45.286信息[Thread-10]org.apache.coyote.AbstractProtocol.pause Pausing-Pausing-ProtocolHandler[“ajp-nio-8009”]
2017年1月5日13:01:45.336信息[Thread-10]org.apache.catalina.core.StandardService.Stop内部停止服务catalina
2017年1月5日13:01:47.712信息[localhost-startStop-2]org.apache.catalina.core.StandardWrapper.unload正在等待为Servlet[jsp]释放1个实例
2017年1月5日13:01:48.713信息[localhost-startStop-2]org.apache.catalina.core.StandardWrapper.unload正在等待为Servlet[jsp]释放1个实例
2017年1月5日13:01:49.714信息[localhost-startStop-2]org.apache.catalina.core.StandardWrapper.unload正在等待为Servlet[jsp]释放1个实例
2017年1月5日13:01:50.697警告[localhost-startStop-2]org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads web应用程序[GlaceCriticalCopy]仍在处理尚未完成的请求。这很可能会造成内存泄漏。您可以使用标准上下文实现的UnloAddLay属性来控制请求完成所允许的时间。请求处理线程的堆栈跟踪:
java.lang.Object.wait(本机方法)
join(Thread.java:1245)
join(Thread.java:1319)
java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106)
java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
runHooks(Shutdown.java:123)
sequence(Shutdown.java:167)
java.lang.Shutdown.exit(Shutdown.java:212)
java.lang.Runtime.exit(Runtime.java:109)
java.lang.System.exit(System.java:971)
org.apache.jsp.jsp.Glaceinstancemonitor\u jsp.\u jsp服务(Glaceinstancemonitor\u jsp.java:250)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javaservlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
org.apache.catalina.core.ApplicationFilterChain.doFilte