gpt4 book ai didi

java - 检测runTime进程完成

转载 作者:行者123 更新时间:2023-12-02 11:41:10 24 4
gpt4 key购买 nike

我正在使用 FFmpeg 导出视频。
我从我的 java 代码运行 exe 文件。

val process = Runtime.getRuntime().exec("$ffmpeg .....)
while (process.isAlive) {
//waiting
}

if(process.exitValue() != 0) {
//failed
}
else {
//successful
}

如果 FFmpeg 中发生任何错误,进程将返回一个 exitValue 非 0 来告诉我出现了问题。
但是当文件或目录包含禁止字符时,ffmpeg 中将出现“No such file or directory”错误,但它不会向 java 程序返回任何内容,因此程序会停留在 process.isAlive 部分。
有没有更好的方法来检测进程是否完成?

最佳答案

直接使用 ProcessBuilder 和 Process 类而不是 Runtime.getRuntime().exec() 可以更好地控制 Process

另外,除非是拼写错误,否则您需要 process.isAlive() 而不是 process.isAlive(这是一个方法调用,返回一个 boolean 值)。

关于java - 检测runTime进程完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48534022/

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