系统相关
首页 > 系统相关> > [Tips] 批量新建screen进行shell命令执行

[Tips] 批量新建screen进行shell命令执行

作者:互联网

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作业。
  1. 首先批量新建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
  1. 然后是运行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
  1. 最后是退出所有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

标签:namelist,shell,name,作业,screen,离线,Tips,screenName
来源: https://www.cnblogs.com/immortalBlog/p/16280462.html