当前位置: 首页 > news >正文

后台执行linux命令

/**

     *

     * 方法说明:移植执行linux命令

     *

     * @param cmdStr 需要执行的linux命令

     * @return 执行命令后的输出(如果是启动一个进程,则可能一直无法返回)

     * @throws IOException

     * @作者及日期:liuhengheng    2014-4-8

     * @修改人及日期:zht    2017-12-7

     * @修改描述:

     * @其他:

     */

    public static String doLinuxCmd(String cmdStr) throws IOException {

        Process exec = doLinuxCmdNoOut(cmdStr);

        InputStream inputStream = (InputStream) exec .getInputStream();

        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);

        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

        StringBuilder builder = new StringBuilder();

        try {

            String temp;

            while ((temp = bufferedReader.readLine()) != null) {//控制台输出

                builder.append(temp);

            }

        } catch (Exception e) {

        InterfaceLogger.error("移植执行linux命令 error",e);

        } finally {

            bufferedReader.close();

            inputStreamReader.close();

            inputStream.close();

        }

        log.info("linux返回值: " + builder.toString());

        return builder.toString();

}

/**

     *

     * 方法说明:移植执行linux命令

     *

     * @param cmdStr

     * @return

     * @throws IOException

     * @作者及日期:liuhengheng    2015-1-2

     * @修改人及日期:zht    2017-12-7

     * @修改描述:

     * @其他:

     */

    public static Process doLinuxCmdNoOut(String cmdStr) throws IOException {

        ArrayList<String> cmds = new ArrayList<String>();

        cmds.add("bash");

        cmds.add("-c");

        cmds.add(cmdStr);

        ProcessBuilder pb = new ProcessBuilder(cmds);

        pb.redirectErrorStream(true);

        Process exec = pb.start();

        return exec;

    }

相关文章:

  • css是在网站开发的应用/百度网站收录查询
  • 郑州建设银行官网站/设计网站排名
  • 知名企业网站建设案例/seo推广优化
  • 重庆万州网站建设/网络营销方案案例
  • 百度网站怎样做推广/全网营销推广系统
  • 北京经营性网站备案/网图识别在线百度
  • Web前端:广州蓝景实训
  • 【TypeScript】TS入门(一)
  • 以技术创新践行社会责任,欧科云链斩获界面新闻年度双项大奖
  • 通过API远程调用Hue之一——登录和登出
  • JavaSE第6篇:面向对象上
  • 【运维有小邓】AD域权限报表
  • hutool工具并发使用 Sftp sftp = new Sftp(sshHost, sshPort, sshUser, sshPass) 的坑
  • 【图像处理】基于二维FIR的特定角度边缘检测(Matlab代码实现)
  • 麒麟水乡,IU酒店进驻云南旅游咽喉之地曲靖
  • 花房集团上市,走向元宇宙新征程
  • Symfony3.4 如何自定义编写Twig扩展
  • 基于HOG、LBP完成特征工程,基于SVM/RF/XGBOOST/GBDT/CNN/DNN完成人脸识别+表情识别