package cn.exlive.monitor.utils; import org.apache.commons.exec.DefaultExecuteResultHandler; import java.util.function.Consumer; import java.util.function.Function; /** *
 *
 * Created by zhaopx.
 * Date: 2025/6/30
 * Time: 20:32
 * Vendor: exlive.cn
 *
 * 
* * @author zhaopx */ public class BrodcastExecuteResultHandler extends DefaultExecuteResultHandler { /** * 执行回调 */ final Consumer consumer; public BrodcastExecuteResultHandler(Consumer consumer) { this.consumer = consumer; } /** * 执行开始 */ public void onProcessStart(final Process process) { try { Thread.sleep(3000); } catch (Exception ignore) {} try { consumer.accept(process); } catch (Exception ignore) {} } /** * 获取进程PID * @return */ public static int getProcessPid(Process process) { // 获取进程PID return process == null ? -1 : PidExecuteWatchdog.getPid(process).orElseGet(() -> -1); } }