前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用bash脚本创建screen并向其发送命令

用bash脚本创建screen并向其发送命令

原创
作者头像
用户1685462
修改2021-08-27 18:21:59
1.3K0
修改2021-08-27 18:21:59
举报
文章被收录于专栏:网站教程网站教程

什么是screen?

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。 GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

为什么要用脚本创建screen?

为了利用服务器的多个cpu,我们经常需要同时创建多个screen,如果screen的个数非常多,手动创建会非常麻烦。

如何用bash脚本创建screen并向其发送命令?

如果我们直接在脚本里写 screen -S my_screen, 会导致脚本无法继续执行。为了使脚本执行下去,创建screen的具体代码如下:

代码语言:javascript
复制
screen_name=$"my_screen"  screen -dmS $screen_name  

现在,我们就已经创建了一个名为 my_screen 的窗口。然后,我们需要向其发送具体的命令。我们用如下命令:

代码语言:javascript
复制
cmd=$"java Test";  screen -x -S $screen_name -p 0 -X stuff "$cmd"  screen -x -S $screen_name -p 0 -X stuff $'\n'  

这样,我们就向screen发送了一条java Test命令了。 如果要退出窗口,则再向其发送一条 exit 命令即可

注意

这种方式发送的命令不能太长,否则会导致脚本卡住。 如果需要发送一条很长的命令,或者连续发送许多条命令,最好单独写一个脚本,发送一个脚本命令给screen,让screen执行新的脚本。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要用脚本创建screen?
  • 如何用bash脚本创建screen并向其发送命令?
    • 注意
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档