在 CentOS 的特定屏幕上执行命令
Execute command on specific screen on CentOS
我在 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 运行 [=23] =],... 选项 -p <screen number>
。但这是行不通的。请帮我。
谢谢!
i have 10 window in session-1 and i want to run 10 script.
由于 session-1
及其 windows 已经创建,我们不需要选项 -d -m
。此外,选项 -r -S
我们只需要一个。要在已经存在的会话中执行程序,我们需要选项 -X exec …
。因此,生成的命令如下:
screen -r session-1 -p 0 -X exec /tmp/script1.sh
但是当我用 screen
版本 4.0 尝试这个时,程序在当前(最后使用)window 中执行,而不是在 [=17= 指定的 window 中执行].显然 -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'
我在 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 运行 [=23] =],... 选项 -p <screen number>
。但这是行不通的。请帮我。
谢谢!
i have 10 window in session-1 and i want to run 10 script.
由于 session-1
及其 windows 已经创建,我们不需要选项 -d -m
。此外,选项 -r -S
我们只需要一个。要在已经存在的会话中执行程序,我们需要选项 -X exec …
。因此,生成的命令如下:
screen -r session-1 -p 0 -X exec /tmp/script1.sh
但是当我用 screen
版本 4.0 尝试这个时,程序在当前(最后使用)window 中执行,而不是在 [=17= 指定的 window 中执行].显然 -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'