screen命令:
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-p window 选定一个已存在的有名字的screen
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-X cmd_str 后面接命令str,在指定的screen中运行命令
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
- 首先批量新建screen
#!/bin/bash
namelist=$(ls | grep svr)
for((i=0;i<5;i++))do
name=${namelist[i]}
screenName=$name
echo screen $screenName
screen -dm $screenName
done
- 然后是运行screen命令
namelist=$(ls | grep svr)
for name in $namelist
do
screenName=$name
echo create screen $screenName
# 2. run shell scripts
screen -x -S $screenName -p 0 -X stuff "./${name}\n"
done
- 最后是退出所有screen
namelist=$(ls | grep svr)
for name in $namelist
do
screenName=$name
echo create screen $screenName
# 4. quit screens
screen -r $screenName -X quit
done