通过java代码运行java程序
我在Linux/Ubuntu中工作。我想通过我的java代码在中运行一个进程,如下所示通过java代码运行java程序,java,ubuntu,process,system-calls,java-communication-api,Java,Ubuntu,Process,System Calls,Java Communication Api,我在Linux/Ubuntu中工作。我想通过我的java代码在中运行一个进程,如下所示 ProcessBuilder pb = new ProcessBuilder("/usr/lib/flume-ng/bin/flume-ng", "agent", "-f",
ProcessBuilder pb = new ProcessBuilder("/usr/lib/flume-ng/bin/flume-ng",
"agent",
"-f",
"/home/c4/Flume/New/ClientAgent.config",
"-n",
"clientAgent");
pb.start();
但是我得到了
未报告的异常java.io.IOException;必须捕获或声明为抛出pb.start()代码>作为错误输出。请告诉我如何运行我的进程。谢谢。它告诉您start()
方法可能会引发异常,并且。您可以:
捕获并记录它或以其他方式处理它,或
将您的方法声明为可能引发此异常,并让堆栈上层的方法处理它(使用这两个选项)
检查异常
对象,这意味着编译器与之相关,您也需要这样做(不管多么痛苦)。其他异常是未检查的,这意味着您不必担心。编译器也不会担心(例如,OutOfMemoryError
-请注意,我在这里混合了一些异常术语,因为它有点复杂)。因为,IOException
是一个选中的异常,您需要捕获它
try {
pb.start();
} catch (IOException e) {
e.printStackTrace();
}
或者使用声明的封闭方法抛出它
public void yourMethod() throws IOException {
请阅读本教程:因为start方法抛出IOException,所以您需要将它们放入try-catch块或add-throws-IOException来解决这个问题