如何解决我需要 proc.out.close() groovy 执行 shell 命令吗?
基于:
Groovy executing shell commands
我有这个 groovy 脚本:
def proc = "some bash command".execute()
//proc.out.close() // hm does not seem to be needed...
proc.waitFor()
if (proc.exitValue()) {
def errorMsg = proc.getErrorStream().text
println "[ERROR] $errorMsg"
} else {
println proc.text
}
我使用执行各种 linux bash 命令。目前,即使没有 proc.out.close()
语句也能正常工作。
proc.out.close()
的目的是什么,为什么(不需要?)需要
解决方法
proc.text
实际上是 proc.getText()
form groovy api doc:读取进程输出流的文本。检索文本后关闭与进程关联的所有流。
http://docs.groovy-lang.org/docs/latest/html/groovy-jdk/java/lang/Process.html#getText()
因此,当使用 proc.text
时,您不需要调用 proc.out.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。