4

我在这里问了一个类似的问题,并且非常接近我正在寻找的东西

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

...但是,这并没有完全达到我所追求的,即在现有屏幕会话(不是新屏幕会话)中的新窗口(不是现有窗口)中启动一个进程。

如果您在屏幕会话中的命令提示符下,可以执行以下操作:

screen [screen options] command param1 param2

但是,如果你在会话之外,你会怎么做呢?例如,如果您想将其作为 cronjob 运行?

4

1 回答 1

3

当您不在屏幕会话中时,您可以将 -X 标志传递给屏幕以执行屏幕命令。

例如,screen 中的screen命令打开一个新窗口,可选择执行一个命令。

假设您已经在某处打开了屏幕:

screen -dr -X screen sleep 20

请注意,一旦命令(在这种情况下为睡眠)完成,新窗口将关闭。如果你想让它保持打开状态,你可能会做这样的事情,这将在新窗口中输入“日期\n”:

screen -dr -X screen
screen -dr -X stuff "date
"

手册页当然有更多的细节。

于 2009-08-06T02:00:45.530 回答