【发布时间】:2015-02-01 03:59:12
【问题描述】:
我一直在尝试编写一个应用程序,该应用程序允许我以选项卡式方式打开多个控制台会话(在 cmd.exe 的窗口中)。
我发现的最重要的参考资料之一是在以下 URL 中,我可以在其中获取 TextAreaOutputStream 代码,以便能够从进程中读取 STDOUT,但是这和互联网上的大多数参考资料都没有解决/修复我正在处理的问题。
参考:Create Java console inside a GUI panel
即使重定向 STDOUT、STDERR 和 STDIN 给我带来了一些麻烦,最糟糕的是,当您在 Java 控制台中的一个选项卡中键入的命令执行创建子进程的命令时,它就在我的 Java 应用程序中失去控制,因为在后台创建了一个新进程。基本上,新的子进程超出了界限,我无法接收或发送任何字节给它,我的应用程序挂起。
-
JVM
-
MyTabbedConsoleApp
-
cmd.exe /k (我仍然可以与这个通信,直到这里没有问题)
- apptrack.exe(一个子进程超出了我的应用程序的范围,没有与之通信,应用程序挂起)
-
cmd.exe /k (我仍然可以与这个通信,直到这里没有问题)
-
MyTabbedConsoleApp
我正在寻找一种更好的方法来创建一个几乎模仿控制台环境的应用程序。
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“致谢”。
标签: java process console child-process tabbed