在浏览器上显示shell脚本的输出

时间:2013-04-20 20:00:10

标签: java ajax shell

这是我在这里的第一个问题,所以请原谅我出错的地方。 我试图使用Ajax从html页面调用服务器上的shell脚本。 Ajax函数调用java动作,这个java动作类正在调用shell脚本。 shell脚本将在运行时写入输出。 我希望在浏览器上以与shell上显示的相同的方式显示输出。

我现在这样做的方式是将shell的输出写入文件,然后在网页上显示该文件的内容,但我想要的只是在网页上显示输出脚本写它。 该脚本需要2分钟才能运行,在运行时,它会继续在shell上写入输出。

谢谢

1 个答案:

答案 0 :(得分:0)

一种方法是通过ProcessBuilderstart() shell脚本。

获得Process实例后,您可以分别通过getOutputStream()getErrorStream()获取标准输出和标准错误流。

这些InputStream包含您要查找的输出。当您阅读它们时,您可以将它们的输出写入您的servlet或JSP的响应输出流。您需要执行类似waitFor()进程的操作并创建线程来读取其输出并写入您的servlet的响应。