2

我已经梳理了尽可能多的 gnu-screen 和 bash 标签,但我找不到答案,所以如果我错过了一个明显的标签,请原谅我。

作为 bash 脚本的一部分,我需要创建一个分离的屏幕会话,并让它在该会话的新创建的窗口 1 中运行一个命令,然后在新创建的窗口 2 中运行另一个命令,所有这些都是同一会话的一部分。到目前为止,我成功地创建了分离的会话,命名它​​,并让我的 python 脚本在窗口 1 中运行。问题是它永远不会打开第二个窗口。我错过了什么?

screen -d -m -S jsession
screen -S jsession -p 0 -X exec /script/pyscript.py
screen -S jsession -p 1 -X exec asterisk -rvvvvvvvvvv
4

1 回答 1

1

您需要先创建第二个窗口,然后才能向它发送命令。第一个窗口是在会话开始时创建的,这就是第一个窗口exec起作用的原因。对于另一个窗口,只需替换execscreen, 即可启动新窗口。

screen -d -m -S jsession
screen -S jsession -p 0 -X exec /script/pyscript.py

# No need to specify a window with -p; the new one will be numbered
# automatically
screen -S jsession -X screen asterisk -rvvvvvvvvvv
于 2012-10-01T22:06:52.757 回答