栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Process.waitFor(),线程和InputStreams

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Process.waitFor(),线程和InputStreams

如果您的外部流程期望某些事情

stdin
,您必须关闭
getOutputStream
。否则,你将
waitFor
永远。

这是JavaWorld 的“
何时Runtime.exec()不会提供”一文,其中描述了exec方法的不同陷阱以及如何避免它们。

根据我的经验,最好先消耗子进程的STDOUT和STDERR(直到它们退出EOF),然后再进行阻塞

waitFor
。希望在这一点上您不必等待很长时间。

Kaleb问题的答案。在正常情况下,您不应该关闭流,但是由于存在这种情况,

waitingFor
并且由于某种原因它没有超时,如果在输出中遇到某些错误情况并且不想处理子级的流,则可能需要关闭这些流。进一步输出。但是,子程序在另一端关闭STDOUT或STDERR管道时是否终止(崩溃)完全取决于该子程序的实现。但是,大多数Shell程序将在这种情况下终止。

我确实希望

waitFor
有一些有意义的超时,并且
Process
在您决定放弃对其进行监视时,有一种记录化的清理资源的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号