gpt4 book ai didi

Groovy 执行进程挂起

转载 作者:行者123 更新时间:2023-12-03 02:05:00 25 4
gpt4 key购买 nike

在 groovy 脚本中,我在 Linux 和 Windows 上执行应用程序:

def proc = command.execute()
proc.consumeProcessOutput( System.out, System.err)
println "here"
proc.waitFor()
println "never here"

但是 waitFor() 调用永远不会返回。奇怪的是,它只发生在 linux 上。

基于此: process.waitFor() never returns

这可能是由于未从适当的流中读取造成的。但正如你所看到的,我同时使用了 System.out 和 System.err。还有其他可以使用的流吗?

最佳答案

我也遇到了类似的问题,正在运行的进程仅卡在 jenkins CI 服务器上。这是一个 plutil 命令,并使用了 consumeProcessOutputStream 方法。

从那时起,我使用 ProcessBuilder 来构建和运行流程。

def processBuilder = new ProcessBuilder('some command')
processBuilder.directory(new File('some dir')).environment().putAll([:])
processBuilder.redirectOutput(new File('out'))
processBuilder.redirectError(new File('err'))

不幸的是,不知道是什么原因导致了您的问题。

关于Groovy 执行进程挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com