| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package cn.exlive.monitor.utils;
- import org.apache.commons.exec.DefaultExecuteResultHandler;
- import java.util.function.Consumer;
- import java.util.function.Function;
- /**
- * <pre>
- *
- * Created by zhaopx.
- * Date: 2025/6/30
- * Time: 20:32
- * Vendor: exlive.cn
- *
- * </pre>
- *
- * @author zhaopx
- */
- public class BrodcastExecuteResultHandler extends DefaultExecuteResultHandler {
- /**
- * 执行回调
- */
- final Consumer consumer;
- public BrodcastExecuteResultHandler(Consumer<Process> 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);
- }
- }
|