0

我正在为 Ubuntu 环境使用 java。我想通过java程序执行一个脚本文件。我试过以下

try{
    Runtime.getRuntime().exec("/usr/lib/flume-ng/bin/flume-ng agent -f /home/c4/Flume/New/ClientAgent.config -n clientAgent");
}
catch(Exception e){
        e.printStackTrace();
    }

ProcessBuilder pb = new ProcessBuilder("/usr/lib/flume-ng/bin/flume-ng", "agent", 
               "-f", "/home/c4/Flume/New/ClientAgent.config","-n","clientAgent");
            try{
        pb.start();
    }
    catch(Exception e){
        e.printStackTrace();

    }

但是这两个都不会启动我的进程名为:flume-ng,其他都是传递给它的参数。Java 程序编译成功,但既不给出异常等也不运行进程。如果我做错了什么,请指导我。

4

1 回答 1

0

考虑Apache Commons Exec

它提供了可靠的跨平台机制来启动外部进程。

这是最新的 javadoc:http ://commons.apache.org/proper/commons-exec/apidocs/index.html

这是简单的教程:http ://commons.apache.org/proper/commons-exec/tutorial.html

于 2013-10-10T06:42:15.757 回答