Ruby 打开另一个终端以显示信息
我想知道是否有一种简单的方法可以打开第二个终端来显示数据。所以我在终端上运行了一个程序,我想知道这个程序是否有可能打开第二个终端,我可以输出信息给用户阅读(让另一个终端自己去读)。我非常倾向于按照Tulentsev先生在第一条评论中的建议去做,但是如果你想从ruby上这样做,查找有关如何启动新进程的信息。好的,我不知道您使用的是什么操作系统或您选择的控制台,但在我的Ubuntu 12.10安装中,这打开了一个Ruby 打开另一个终端以显示信息,ruby,Ruby,我想知道是否有一种简单的方法可以打开第二个终端来显示数据。所以我在终端上运行了一个程序,我想知道这个程序是否有可能打开第二个终端,我可以输出信息给用户阅读(让另一个终端自己去读)。我非常倾向于按照Tulentsev先生在第一条评论中的建议去做,但是如果你想从ruby上这样做,查找有关如何启动新进程的信息。好的,我不知道您使用的是什么操作系统或您选择的控制台,但在我的Ubuntu 12.10安装中,这打开了一个xterm窗口,显示了我的结果: a = "Hello World!" system(
xterm
窗口,显示了我的结果:
a = "Hello World!"
system(%Q[xterm -hold -e /bin/bash -l -c "echo #{a}"])
至于解释:
可防止程序一执行窗口就关闭-按住
指定要运行的程序及其参数(-e
部分)/bin/bash…
调用unix shell bash/bin/bash
使bash看起来就像是作为登录shell调用的一样-l
将接收控制台输出-c
在屏幕上显示消息李>echo
xterm
和bash
如果您添加更多细节,也许我们可以澄清一个更好的答案,尽管,老实说,我更喜欢Sergio的答案,即输出到一个文件,并让另一个控制台跟踪该文件 您可以将输出信息记录到一个文件中,然后在另一个终端会话中跟踪该文件。是的,我想知道是否有更直接的方法。就像字面上把[terminal 2]写成“废话”。尽管如此,我还是得照你的建议去做!谢谢你的建议。为此,你必须了解系统的细节。例如,在Linux上,您可以启动gnome终端的子进程。我们需要检查您的操作系统和终端(xterm、gnome等)。假设他确实启动了子进程。如何将此子进程绑定到另一个终端会话(以便输出到该会话)?可以使用来执行此操作,但恐怕我仍然看不到它。在该主题中,没有任何地方暗示存在多个终端会话。不管怎样,跟踪文件是一种方法。其他任何事情都过于复杂了。:)是的,使用和你一样的操作系统!它工作得很好!虽然我希望有一个更便携的解决方案。我可能会按照塞尔吉奥·图兰采夫的建议去做;尽管如此,这回答了我的问题。谢谢