我试图同时在分离的屏幕会话中运行多个脚本。
这是我目前的代码。
#!/bin/bash
screen -mdS Name_Screen1 "python /path/to/file/file.py arg1 arg2 arg3"
screen -mdS Name_Screen2 "python /path/to/file/file.py arg3 arg4 arg5"
screen -mdS Name_Screen3 "python /path/to/file/file.py arg6 arg7 arg8"
键入" screen -list"要查看可用的屏幕,我没有看到我目前正在运行的任何屏幕。此脚本将一些信息输出到屏幕,这取决于给出的参数。我已经查看过这里发布的一些问题,但我无法找到答案。
有什么方法可以看到这些屏幕的输出,而不必做像">这样的事情。 out.txt"
更新
所以我终于明白了。我最终在会话中创建了一个屏幕会话和多个窗口。
#!/bin/sh
Lum_Types=("Window1" "Window2" "Window3" )
Windowname="Screen_session"
screen -mdS $Windowname
for Lum in ${Lum_Types[@]}
do
screen -S $Windowname -X screen -t $Lum
screen -S $Windowname -p $Lum -X stuff $"python /Path/to/file arg1 arg2"
screen -S $Windowname -p $Lum -X stuff $'\n'
done
一个关键部分是在$
之后添加-X stuff
,以便将字符串传递给屏幕会话和窗口。
答案 0 :(得分:1)
所以我终于明白了。我最终在会话中创建了一个屏幕会话和多个窗口。
#!/bin/sh
Lum_Types=("Window1" "Window2" "Window3" )
Windowname="Screen_session"
screen -mdS $Windowname
for Lum in ${Lum_Types[@]}
do
screen -S $Windowname -X screen -t $Lum
screen -S $Windowname -p $Lum -X stuff $"python /Path/to/file arg1 arg2"
screen -S $Windowname -p $Lum -X stuff $'\n'
done
一个关键部分是在$
之后添加-X stuff
,以便将字符串传递给屏幕会话和窗口。
- 维克多
答案 1 :(得分:-1)
您需要做的只是将命令的单词分开。
screen -mdS "Name_Screen1" python /path/to/file/file.py "arg1" "arg2" "arg3"
将它们分组在一个sngle strin屏幕中不会执行它们,它会立即退出, 这就是他们没有在列表中显示的原因。