diff --git a/src/main/java/com/tuoheng/steam/service/innerService/ProcessService.java b/src/main/java/com/tuoheng/steam/service/innerService/ProcessService.java index e786b49..9514be3 100644 --- a/src/main/java/com/tuoheng/steam/service/innerService/ProcessService.java +++ b/src/main/java/com/tuoheng/steam/service/innerService/ProcessService.java @@ -65,24 +65,21 @@ public class ProcessService { try (BufferedReader reader = new BufferedReader( new InputStreamReader(process.getInputStream()))) { String line; - while ((line = reader.readLine()) != null && !processTerminated.get()) { + while ((line = reader.readLine()) != null) { logger.info("mergeMp4-------- {}",line); } } catch (IOException e) { - if (!processTerminated.get()) { - logger.info("mergeMp4-------- Over",e); - } + logger.info("mergeMp4-------- Over",e); + } logger.info("mergeMp4 Over"); - - // 删除源文件的逻辑移到这里,根据转换结果决定是否删除 - // 这里暂时不删除,让主线程来决定是否删除源文件 } }); CompletableFuture future = process.onExit(); // 阻塞等待进程结束,增加超时时间到5分钟 Process completedProcess = null; + try { completedProcess = future.get(5, TimeUnit.MINUTES); logger.info("mergeMp4正常完成-------- Over"); @@ -96,11 +93,9 @@ public class ProcessService { if(file.exists() && file.length() > 0){ logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over"); - processTerminated.set(true); process.destroy(); } else { logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over"); - processTerminated.set(true); process.destroyForcibly(); } } catch (Exception e) { @@ -126,7 +121,6 @@ public class ProcessService { } } else { logger.info("进程失败,退出码 {} " ,completedProcess.exitValue()); - // 进程失败时保留源文件 logger.info("转换失败,保留源文件: {}", sourceFlvPath); } } else { @@ -138,14 +132,12 @@ public class ProcessService { if(file.exists() && file.length() > 0){ logger.info("mergeMp4超时但文件已生成,标记为完成-------- Over"); - // 超时但文件已生成,删除源文件 if (sourceFlvFile.exists()) { FileUtil.deleteFile(sourceFlvFile); logger.info("超时但转换成功,已删除源文件: {}", sourceFlvPath); } } else { logger.error("mergeMp4超时且文件未生成,强制终止进程-------- Over"); - // 超时且文件未生成,保留源文件 logger.info("超时且转换失败,保留源文件: {}", sourceFlvPath); } }