使用java程序执行shell命令时维护会话

时间:2014-04-08 12:09:09

标签: java

我们正在努力从java swing UI执行shell命令。

我们需要执行一个命令来启动会话,一旦会话启动,我们需要重复执行一些常用命令。

我们可以使用以下命令执行命令。

Runtime.getRuntime().exec("setSession")
Runtime.getRuntime().exec("execute individual task");

这样,每当我们必须设置会话并执行各个任务时。

有没有办法执行一次命令(如setSession)并保留会话以执行剩余的命令?

1 个答案:

答案 0 :(得分:0)

如果我的任务正确,您可能希望在底层系统上启动一个shell,获取它的输入和输出流并在那里发出您的命令。 虽然这使得您依赖于操作系统。但是你执行的命令可能无论如何。 类似的东西:

Process p = Runtime.getRuntime().exec("cmd.exe");
OutputStream outputStream = p.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));

InputStream inputStream = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

writer.write("dir \n");
writer.flush();