Время выполнения команды в Java

Есть ли способ узнать время выполнения команды? Изготовление exec синхронный

Runtime rt = Runtime.getRuntime();
Process process = rt.exec(ffmpeg +" -i "+source+" -vcodec h264 -acodec aac  "+destination);

команде ffmpeg требуется время, поэтому я хочу что-то записать после выполнения. Есть ли способ регистрировать вещи после выполнения команды?

1 ответ

Вы можете записать время до начала процесса, дождаться его завершения, а затем снова записать время и вычесть два:

long before = System.currentTimeMillis();
Runtime rt = Runtime.getRuntime();
Process process =
    rt.exec(ffmpeg + " -i " + source + " -vcodec h264 -acodec aac  " + destination);
process.waitFor();
long after = System.currentTimeMillis();
long execTime = after - before;
System.out.println("Processing took " + execTime + " milliseconds");
Другие вопросы по тегам