java - Java:运行控制台命令并保持控制台运行以获取更多控制台命令
问题描述
对不起,措辞不好的问题,这并不容易..
我需要运行一个控制台命令,而不是仅仅使用 System.exec 调用它,我需要稍后访问该进程。
所以我决定和
ProcessBuilder
List<String> commands = new ArrayList<String>(); commands.add("cmd.exe"); //setting up what shell is used commands.add("/c"); commands.add(commandString); //adding the actual command ProcessBuilder pb = new ProcessBuilder(commands); Process running = pb.start();
- 我怎样才能继续写同一个shell?因此,当我调用多个命令时,它们不是在新 shell 中执行,而是在同一个 shell 中执行。这是必要的,因为有人可能会使用诸如 CD 之类的命令来更改进一步输入的结果。
示例:在一个 shell 中执行:CD 和 dir/ls 与调用两个 shell 实例不同。
- 我也希望能够使用管道,而使用 I 或 II 是不可能的(至少对我而言)
解决方案必须适用于 windows 和 linux。我很高兴有人可以提供任何帮助。网上有人做过教程: https ://alvinalexander.com/java/java-exec-system-command-pipeline-pipe
但是看起来有点……麻烦
多谢你们
PD 我认为最简单的解决方案是以某种方式直接写入外壳。但现在我不知道该怎么做。
解决方案
推荐阅读
- c# - c# - 过滤后保存DataGridView
- css - 跨多行的伪元素创建连续的下划线动画
- node.js - 为什么谷歌分析查询响应总用户数随维度变化?
- javascript - 提交表单后如何重定向页面?
- runtime - Trace32 函数运行时未按预期工作
- c++ - 使用 ESP8266 和 Blynk 应用程序进行实时步进电机控制
- ubuntu - 使用 ssh -t 可以通过 Jump Host 进行连接,但 ssh -W 不起作用
- python - 如何在 sudo 命令之后从 Python 转换输出
到 字符串? - regex - 正则表达式:可选组不起作用
- html - 如何组织在网格中?