在CentOS的特定屏幕上执行命令

罗罗诺阿·佐罗(Roronoa Zoro)

我使用CentOS上的屏幕来运行我的脚本。例子:

输出命令屏幕-ls:

There is a screen on:
        session-1      (Detached)
1 Socket in /var/run/screen/S-root

然后我跑:

screen -r -S "session-1" -d -m -p 0 /tmp/script1.sh
screen -r -S "session-1" -d -m -p 1 /tmp/script2.sh
screen -r -S "session-1" -d -m -p 2 /tmp/script3.sh

但这是行不通的。我希望script1.sh在screen:0上运行,script1.sh在screen:1上运行,script1.sh在screen:2上运行,...带有选项-p <screen number>但这是行不通的。请帮我。谢谢!

阿玛利

我在session-1中有10个窗口,我想运行10个脚本。

由于session-1及其窗口已经创建,因此我们不需要options -d -m另外,在选项中,-r -S我们只需要一个。要在已经存在的会话中执行程序,我们需要option -X exec …因此,生成的命令将类似于:

screen -r session-1 -p 0 -X exec /tmp/script1.sh

但是,当我在screen4.0版本中尝试此操作时,该程序在当前(上次使用)窗口中执行,而不是在所指定的窗口中执行-p显然-p不适用于-X起作用的是:

screen -r session-1 -p 0 -X stuff /tmp/script1.sh$'\n'
screen -r session-1 -p 1 -X stuff /tmp/script2.sh$'\n'
screen -r session-1 -p 2 -X stuff /tmp/script3.sh$'\n'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章