如何将Java运行时控制台移动到不同的终端窗口?

时间:2017-05-02 11:07:29

标签: java terminal inputstream outputstream

我在终端应用程序A中从命令行执行了一个Java程序。我想将控制台移动到终端应用程序B,而不必退出并重新执行该程序。

我可以想出一些解决这个问题的潜在方法,包括:

A)在Java中实现一个新的InputStream和OutputStream,它可以某种方式连接到在终端应用程序B中启动的新进程。

...至

B)找到一种方法将主要Java进程放在终端应用程序A中的"背景"这样原始进程可以在终端应用程序B中重新打开。

理想情况下,我希望能够"登录"并且"退出"我的Java进程来自我计算机上的任何终端。有没有这样的事情已经完成,哪种方法最适合自己做?我愿意接受涉及Java代码,shell脚本或两者的解决方案。

我的规格:

  • OSX:10.12.4
  • 通常在iTerm上运行zsh

1 个答案:

答案 0 :(得分:0)

如果我使用的是Linux,那么完美的解决方案就是reptyr,这是一个命令行工具,可让您轻松切换终端窗口。

在Mac上,我找到的最佳解决方案是screen。它也可以用来切换终端窗口,但必须在运行java之前调用才能工作,看起来要复杂得多。