关闭stdin后,unix命令行程序不会退出

时间:2017-04-05 22:02:37

标签: java process

我在Java中创建一个Process对象(如果这很重要,程序是html整洁的),通过stdin(Process.getOutputStream())提供一些数据,并关闭流,但是当我调用{ {1}}它永远不会返回,因为该过程不会退出。如何在不调用Process.waitFor()的情况下解决此问题?

1 个答案:

答案 0 :(得分:-3)

Process.destroy()可能会在退出之前等待您使用输出。如果您只是为程序提供大量数据并且它为您返回了大量数据,则可能会出现这种情况。解决方案是在等待程序退出之前使用输出。这就是我处理它的方式(不是完整的代码):

tidy