Apache common exec执行外部命令

工作中需要用java调用外部命令(shell脚本,启动服务等),之前使用Runtime.getRuntime().exec调用外部程序,Runtime.getRuntime().exec是java原生态的命令,而Apache commons-exec封装一些常用的方法用来执行外部命令。例如我们想得到当前windows目录下的文件信息,在cmd命令行下的命令是dir。具体以代码示例展示2个方法实现。

第一种Runtime.getRuntime().exec

        String pl_cmd = "cmd.exe /c dir";
        Process p_pl = Runtime.getRuntime().exec(pl_cmd);
        BufferedReader br_pl = new BufferedReader(new InputStreamReader(
                p_pl.getInputStream()));
        String stdout = br_pl.readLine();
        while (stdout != null) {
            System.out.println(stdout);
            stdout = br_pl.readLine();
        }

第二种Apache commons-exec

        ByteArrayOutputStream stdout = new ByteArrayOutputStream();
        PumpStreamHandler psh = new PumpStreamHandler(stdout);
        CommandLine cl = CommandLine.parse("cmd.exe /c dir");
        DefaultExecutor exec = new DefaultExecutor();
        exec.setStreamHandler(psh);
        exec.execute(cl);
        System.out.println(stdout.toString());

代码参考github

时间: 2024-10-12 21:24:12

Apache common exec执行外部命令的相关文章

php -- PHP在linux上执行外部命令,system(),exec(),shell_exec()

目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,有三种方法: 1. 调用专门函数 2. 反引号 3. popen()函数打开进程 方法一:调用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec() 1)exec() 原型: string exec ( string $comm

php在linux中执行外部命令

目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()1)exec()原型: string exec ( string $co

PHP在linux上执行外部命令

PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个):PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()1)exec()原型: string exe

Linux培训教程 浅谈:PHP在linux上执行外部命令(整理)

一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(),shell_exec() 1)exec() 原型: string exec ( string$

php执行外部命令

php执行外部命令的不少,例如:exec.shell_exec.system.popen等.我特意的讲一下popen,它跟其他函数不太一样,其他函数执行一个命令后,会等待其返回后,再向下执行,而popen则不会.所以你想用php程序并行的处理一些业务的时候,可以用popen.我举个例子,有两个php文件,numgame.php和numgenerate.php,numgame.php循环的生产一个数传参给numgenerate.php,用popen和shell_exec做个对比(其中numgene

Powershell 执行外部命令

Powershell 执行外部命令 724 11月, 2011  在 Powershell  tagged Powershell教程 / 程序 by Mooser Lee本文索引[隐藏]1通过netstat查看网络端口状态2通过IPConfig查看自己的网络配置3route print查看路由信息4启动CMD控制台5查找可用的Cmd控制台命令6启动外部程序Powershell 能够像CMD一样很好的执行外部命令. 通过netstat查看网络端口状态 PS C:\PS> netstat Activ

Python2/3 中执行外部命令(Linux)和程序(exe) -- 子进程模块 subprocess

subprocess 模块可以使 Python 执行外部命令(Linux)和程序(exe),并得到相应的输出结果,进一步处理.在 Python3.5 中,subprocess 模块取代了    os.system.os.spawn* .该模块很好地体现了 Python 胶水语言的特性,丰富了 Python 的拓展能力,故本文接下来主要介绍 subprocess 模块的用法,并简单说明在 Python2/3 中的使用区别. 速查表 Python2 Python3.5 subprocess.call

C# 执行外部命令的代码

下面代码内容是关于C# 执行外部命令的代码,应该对大家有用. public static int executeCommand(string cmd, int millsecTimeOut) { System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo("CMD.exe", "/C "+cmd); processStartInfo.Cr

执行外部命令并获取输出

# 如何获取一个外部命令并以python字符串的形式获取结果 # 可以使用subprocess模块下的check_output函数 import subprocess out_bytes = subprocess.check_output("ipconfig") out_text = str(out_bytes, encoding="gbk") print(out_text) ''' Windows IP 配置 以太网适配器 以太网: 连接特定的 DNS 后缀 .