如何从另一个应用程序启动进程,然后在gnu屏幕中打开一个终端到该进程

时间:2009-08-03 05:39:36

标签: session process terminal gnu-screen

我希望能够从GUI应用程序启动进程(现在我正在考虑让eclipse用户 - 可能通过插件 - 单击按钮以使用我的组织的构建启动构建系统)。

当我停止父应用程序时,我不希望此进程停止,我希望以后可以“切换到”它,就像我从命令行启动它一样。

我已经看到GNU屏幕被描述为对我要求的大部分内容有益,但我不确定“从另一个应用程序启动该过程”部分。

如果GUI应用程序本身是从屏幕内启动的,那么可以这样做吗?如果不是这样的话,可以这样做吗?我很想知道怎么做!

更新: 将“screen”添加到命令行看起来是从shell启动屏幕进程的好方法,但是我试图找到一种方法来执行此操作而不直接进入该会话。我想将命令“发送”到一个屏幕会话,然后在该会话的新窗口中启动它。

3 个答案:

答案 0 :(得分:2)

只需将'screen'命令添加到正常的命令行。

E.g。如果您通常执行“./make_build.sh opt1 opt”,则屏幕上的命令行将为“screen ./make_build.sh opt1 opt2

很容易! : - )

答案 1 :(得分:0)

您可以使用-X标志将屏幕消息发送到正在运行的屏幕会话。

请参阅How to start a new process in a new window in an existing GNU screen session, from outside the session或屏幕手册页。

答案 2 :(得分:0)

如果您可以暂停该过程(通过Cont-Z),则可以运行

screen -dr -X screen $(fg)

它会将该过程附加到屏幕中的新窗口。它不理想,但它会起作用。