由于第二个命令在第一次退出之前不会运行,并且当我尝试使用 第一次在后台运行时,以下命令不起作用,&
出现以下错误。
我还尝试使用 首先在后台运行-d -m
,但 split 不起作用。
必须连接到终端。
screen -S test -t foo long_lived_process_1
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar long_lived_process_2
答案1
使用 时screen -S test some command
,它会立即打开屏幕,而不是将其发送到后台。因此,运行这些命令的脚本将停止,下一个命令不会针对该屏幕执行。
所以,我想我们必须首先将其发送到后台,然后发送其他命令。
screen -S test -d -m top
screen -S test -X title foo
screen -S test -X split
screen -S test -X focus down
screen -S test -X screen -t bar watch free
screen -S test -R
我没有开始-S test -d -m -t foo top
工作,标题没有抓住,但第一个窗口无论如何都是一个特殊情况。 (除非你决定将其保留为虚拟对象并在最后运行-X select 0
。-X kill
)
您还可以查看将命令放入 中screenrc
,手册页中有关于通过这样进行设置的示例。