【发布时间】:2021-03-02 04:16:20
【问题描述】:
有没有办法知道命令的执行时间?使exec同步
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(ffmpeg +" -i "+source+" -vcodec h264 -acodec aac "+destination);
ffmpeg 命令需要时间,所以我想在执行后记录一些内容。命令执行后有什么方法可以记录这些东西吗?
【问题讨论】:
-
所以,您的基本问题归结为 - 如何计算两个时间点之间的持续时间。这是一个常见的问题,但由于自 Java 8 以来日期/时间 API 发生了变化,因此找到正确答案可能会有些混乱。但是,如果答案不喜欢
java.time.*API,那么这不是您要寻找的答案。 For example -
nope @MadProgrammer 我知道执行。我想让这个同步..以便在转换(ffmeg进程)完成后执行。
-
那么,什么时候去处理它?只需
waitFor即可完成该过程 - 可能需要检查exitCode并打印一份声明 -
@DanyalSandeelo 可能重复 Wait for process to finish before proceeding in Java - 同样,这不是一个不常见的问题,尽管我建议使用
ProcessBuilder -
"我想在执行后记录一些东西。" @MadProgrammer 和日志在执行后立即完成他们的工作,我想在进程完成转换后完成。