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

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

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

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

screen [screen options] command param1 param2

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

有帮助吗?

解决方案

当你不处于屏幕会话中,可以通过-X标志筛选以执行屏幕命令。

例如,在屏幕在屏幕命令打开一个新的窗口,任选地具有一个命令来执行。

假设你已经打开屏幕的地方:

screen -dr -X screen sleep 20

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top