# ProcessPlus **Repository Path**: baochl1988/ProcessPlus ## Basic Information - **Project Name**: ProcessPlus - **Description**: 升级版命令行执行方法,支持同步执行、输出读取、超时取消、主动取消等,适用于Windows、Linux、Mac平台 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-01-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ProcessPlus ## 演示代码 public static void test1() { // 打开记事本(同步阻塞,关闭记事本后,才会返回结果) if (ProcessPlus.exec(null, null, "cmd", "/c", "notepad")) { System.out.println("notepad进程退出"); } // 想异步执行,直接使用Runtime.getRuntime().exec即可,例如: // try // { // Runtime.getRuntime().exec(new String[] // { // "cmd", "/c", "notepad" // }); // } // catch (IOException e) // { // e.printStackTrace(); // } } public static void test2() { // ping百度,输出日志 ProcessPlus.exec(new OutputParser() { @Override public int parse(String line) { System.out.println(line); return OutputParser.STATUS_CONTINUE; } }, null, "ping", "www.baidu.com"); } public static void test3() { // 不停的ping百度,输出日志,10秒后停止 ProcessOption option = new ProcessOption(); option.setTimeoutInSec(10); ProcessPlus.exec(new OutputParser() { @Override public int parse(String line) { System.out.println(line); return OutputParser.STATUS_CONTINUE; } }, option, "ping", "www.baidu.com", "-t"); } public static void test4() { // 不停的ping谷歌,输出日志,当遇到"请求超时"字符串时, 才停止执行 ProcessPlus.exec(new OutputParser() { @Override public int parse(String line) { System.out.println(line); if (line.contains("请求超时")) { return OutputParser.STATUS_CANCEL; } return OutputParser.STATUS_CONTINUE; } }, null, "ping", "www.google.com.hk", "-t"); }