我一直在尝试编写一个应用程序,该应用程序允许我以选项卡式方式打开多个控制台会话(在 cmd.exe 的窗口中)。
我发现的最重要的参考资料之一是在以下 URL 中,我能够在其中获得 TextAreaOutputStream 代码,以便能够从进程中读取 STDOUT,但是这和互联网上的大多数参考资料都没有解决/修复我正在处理的问题。
即使重定向 STDOUT、STDERR 和 STDIN 给我带来了一些麻烦,最糟糕的是,当您在 Java 控制台中的一个选项卡中键入的命令执行创建子进程的命令时,我的 Java 应用程序就在这里失去控制,因为在后台创建了一个新进程。基本上,新的子进程超出了界限,我无法接收或发送任何字节给它,我的应用程序挂起。
- 虚拟机
- MyTabbedConsoleApp
- cmd.exe /k(我仍然可以与这个通信,直到这里没有问题)
- apptrack.exe(我的应用程序超出范围的子进程,与此没有通信,应用程序挂起)
- cmd.exe /k(我仍然可以与这个通信,直到这里没有问题)
- MyTabbedConsoleApp
我正在寻找一种更好的方法来创建一个几乎模仿控制台环境的应用程序。