在使用java程序执行shell命令时维护会话
我们正在研究从JavaSwingUI执行shell命令的需求 我们需要执行一个命令来启动会话,一旦会话启动,我们需要重复执行一些常用命令 我们可以使用下面的命令执行这些命令在使用java程序执行shell命令时维护会话,java,Java,我们正在研究从JavaSwingUI执行shell命令的需求 我们需要执行一个命令来启动会话,一旦会话启动,我们需要重复执行一些常用命令 我们可以使用下面的命令执行这些命令 Runtime.getRuntime().exec("setSession") Runtime.getRuntime().exec("execute individual task"); 这样,每次我们都必须设置会话并执行单个任务 有没有办法执行一次命令(如setSession)并保留会话以执行其余的命令?如果我正确完成了
Runtime.getRuntime().exec("setSession")
Runtime.getRuntime().exec("execute individual task");
这样,每次我们都必须设置会话并执行单个任务
有没有办法执行一次命令(如setSession)并保留会话以执行其余的命令?如果我正确完成了任务,您可能需要在底层系统上启动一个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();
为什么不将所有单个任务组合在一个shell脚本下,然后只启动那个脚本呢?我们可以这样做,但它必须从一开始就为每个任务执行。我想将setSession保持为所有单个任务的公共设置。