在 bash 脚本中使用 screen

2023-12-01

我正在远程服务器上运行游戏服务器,我使用独立的屏幕实例使其保持运行。 我现在正在创建一个脚本,可用于关闭服务器,备份所有重要文件并再次启动它,但是我在处理屏幕时遇到了一些困难。

我假设我可以通过在脚本中调用 screen -r 来切换到脚本中的分离屏幕(在服务器已经关闭之后)。 但这似乎不起作用,因为如果我从外部屏幕运行脚本,它只会在该会话中启动服务器。

screen -r
cd ~/servers/StarMade/
sh StarMade-dedicated-server-linux.sh
screen -d

这就是我认为可以解决问题的方法,但事实并非如此。也许有人可以帮助我。我不是 bash 专家。事实上,这可能是我的第一个不包含“Hello World”的 bash 脚本。谢谢。


正如您的示例所示,您的脚本将由您的销售执行,而不是屏幕中的脚本。您需要告诉运行屏幕读取文件并执行它 - 这就是 -X 选项的用途。

Try

tempfile=$(mktemp)
cat > $tempfile <<EOF
cd ~/servers/StarMade/
sh StarMade-dedicated-server-linux.sh
EOF
screen -X readbuf $tempfile
screen -X paste .
rm -f $tempfile

您可以在第二个终端会话中保持屏幕运行,看看会发生什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 bash 脚本中使用 screen 的相关文章

  • bash 脚本中的未绑定变量

    在调试我的脚本时 我变得绝望 我使用了我的高级同事向我推荐的一些结构 但我不知道如何使其正常工作 bin bash x set ueo pipefail exec gt tmp dq log source BASH SOURCE env p
  • 查找当前打开的文件句柄数(不是 lsof )

    在 NIX系统上 有没有办法找出当前正在运行的进程中有多少个打开的文件句柄 我正在从正在运行的进程中寻找在 C 中使用的 API 或公式 在某些系统上 见下文 您可以在 proc pid fd 中对它们进行计数 如果不属于其中之一 请参阅下
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • 从配置文件中读取分配

    我有配置文件 其中每行都包含用分号分隔的分配 像这样的东西 模仿正常的 shell 分配 VAR1 1 VAR2 2 VAR1 3 VAR2 4 每行包含相同的变量 并且旨在单独处理 这些配置文件都在系统管理员的控制之下 所以使用eval现
  • 在Linux中执行jar文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我创建了一个可执行的 Java jar 文件 也就是说 我将 java 程序正确打包到 jar 文件中 包括 META INF MANIFEST 文件
  • Bash:替换管道标准输入中的子字符串

    我尝试用新的子字符串替换标准输入中的某个子字符串 在读取几个文件后 我必须从管道获取标准输入cat 然后我想将更改后的字符串向前推到管道中 这是我尝试做的 cat file1 file2 echo cat path to file path
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 安装 homebrew 后终端无法识别 nvm

    我通过自制软件安装了 nvm 但是当我运行 nvm v 或 nvm version 表单终端时 我收到消息 command not found nvm 当我查看 finder 和 cmd shift 时 我可以看到 nvm 文件夹 最初 我
  • 如何从 swagger 文档生成静态 html 文件?

    我创建了一个 Swagger 文档yaml文件位于 api swagger swagger yaml 现在我想分享一个静态 HTML 文档及其定义 但它已在招摇项目 https github com swagger api swagger
  • 使用数组参数创建 bash 选择菜单

    我有一个函数叫做createmenu 该函数将接受一个数组作为第一个参数 第二个参数是数组的大小 然后我想使用该数组的元素创建一个选择菜单 这是我到目前为止所拥有的 使用给定数组创建菜单 createmenu echo 1 echo Siz
  • “以下软件包将被更高优先级的频道取代”是什么意思?

    我正在尝试将 fuzzywuzzy 安装到 64 位 Linux 中的 Anaconda 发行版上 当我这样做时 它试图改变我的conda and conda env to conda forge渠道 如下 我通过以下方式在 anacond
  • 基于文件位置而不是当前工作目录的相对路径[重复]

    这个问题在这里已经有答案了 Given some txt dir cat sh cat sh 的内容如下 cat some txt 然后运行 cat sh inside dir运行时工作正常 dir cat sh与dir才不是 我预计这是由
  • 在 Windows 下使用 linux 实用程序的最佳方法是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Linux 实用程序 如 sed awk 和其他 shell 脚本功能 非常棒 但当我在 Windows 上进行开发并且无法使用其中任何一
  • 串口读取未完成

    下面的函数用于在Linux下从串口读取数据 我在调试时可以读取完整的数据 但是当我启动程序时 读缓冲区似乎并不完整 我正确接收了一小部分数据 但缓冲区的其余部分完全正确zero 可能是什么问题呢 int8 t serial port ope
  • cygwin bash 在 emacs shell 中无法正确显示

    我正在尝试使用 emacs 来运行 cygwin 我的环境是Windows 7 x64 emacs 24 0 93 1 cygwin 2 769 系统编码为gbk cygwin的编码系统默认为utf 8 emacs的编码系统默认为gbk I
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • 如何让 VSCode 在当前工作区中打开?

    我在 Linux 上使用 VSCode 我有多个 Linux 工作区 当我在新工作区中的 VSCode 中打开新文件时 它会在原始工作区中的 VSCode 中打开一个新选项卡 而不是在当前工作区中打开 VSCode 的新实例 这确实是令人讨
  • 使用多个 NIC 广播 UDP 数据包

    我正在 Linux 中为相机控制器构建嵌入式系统 非实时 我在让网络做我想做的事情时遇到问题 该系统有 3 个 NIC 1 个 100base T 和 2 个千兆端口 我将较慢的连接到相机 这就是它支持的全部 而较快的连接是与其他机器的点对
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的

随机推荐

  • apache thrift C++ 异步客户端

    我正在寻找 C 异步客户端和非阻塞 C 服务器实现 我在 apache 中看到一些邮件档案 但该活动是 2009 年末的 想知道最新的 thrift 是否支持它 我正在对 C 代码使用 cob style 选项 但生成的代码无法编译 将不胜
  • PyCharm 代码完成:如何防止空格键和“点”提交查找项

    使用代码补全时如何禁用空格键提交建议 例如 如果我尝试将某些内容命名为 req 当我完成输入并输入 空格 时 我最终会得到 request 这只是一个例子 我在键盘映射中没有看到它 并且在其他地方看到了这一点 但没有任何明显的解决方案 有一
  • 使用 BouncyCastle PGP 解密文件时出现异常

    我试图使用名为 PgpDecrypt 的类来解密客户端提供的示例文件 但是当代码来到这一行时 Stream clear pbe GetDataStream privKey 它返回一个错误 解密密钥异常 这是我的解密代码 PgpDecrypt
  • 尽管存在于目标文件中,第谷无法解析对捆绑包的依赖关系

    我为多个插件 一个功能 一个站点和一个在pom xmls 我可以从 Eclipse IDE 中运行我的应用程序 也mvn clean package构建得很好 但是 当我添加需要的插件时ca odell glazedlists 这也在我的目
  • PHP 请求 PHP Websocket

    我正在寻求有关 websocket 问题的帮助 我构建了一个简单的 HTML5 websocket 来连接我的 AngularJS 站点 websocket 通过简单的 JS 连接 和我的 PHP 服务器 连接也可以正常工作 并且发送和接收
  • 动态加载 Perl 模块

    我正在尝试创建一个可扩展的系统 通过该系统我可以将新模块编码为处理程序 我希望程序自动加载放入 Handlers 目录并符合 Moose Role 接口的任何新 pm 文件 我想知道是否有 Perl 模块或更多 Moose 认可的方法来自动
  • getpwnam 中的内存泄漏是否有修复或解决方法?

    getpwnam 中的内存泄漏是否有修复或解决方法 getpwnam does not遭受内存泄漏 事实上 后续调用将覆盖其静态内部缓冲区 这种函数是不可重入因此非线程安全 保罗建议使用getpwnam r 这是可重入版本 可以安全地在多线
  • selectItem 时的 Collection View 布局错误 (Swift 5)

    从 viewDidLoad 中选择单元格后 布局发生变化 选择单元格之前 选择单元格后 let indexPath IndexPath row SelectedFolderIndex section 0 collectionView sel
  • fields_for 使用数组进行 has_many 关联

    控制器 项目 子 类型 控制器 rb def new svn repos svn software svn hardware project sub type ProjectSubType new project sub type repo
  • 如何触发猫鼬 updateAt

    当数据发生变化时 我需要更新我的模型 可悲的是 this似乎不起作用 const mongoose require mongoose const moment require moment const Schema mongoose Sch
  • Spring MVC 中一种表单有多个 commandName

    我有一个jsp页面 我将在其中使用来自不同POJO类的许多属性 因此我需要在表单中使用两个commandName 可以在控制器中使用多个 ModelAttribute 那么如果多个 commandName 不起作用又有什么意义呢 例如我想插
  • 程序在 JFrame 高度最大化时不重新绘制

    您可以通过多种方式通过鼠标拖动来调整 JFrame 的大小 您可以调整其高度 顶部 底部边缘 您可以调整其宽度 左 右边缘 您可以调整两者的大小 在角落 您可以通过将整个窗口拖动到显示器顶部边缘来最大化它 您可以通过将其顶部 底部边缘拖动到
  • 根据 MacOS 文件夹中的文件名更改文件的创建和修改日期和时间

    我的文件夹中有很多文件 文件名如下 20190618 213557 mp4 20190620 231105 mp4 20190623 101654 mp4 我需要根据文件名更改创建日期和时间 20190618 213557 YYYYMMDD
  • PHP 从 API 响应中获取 json 汇率值

    我正在使用货币层 JSON API 来获取实时货币转换值 有谁知道我如何获取这两个值 result 值和 quote 使用 PHP 从下面的 API 响应中获取值 我是 PHP 新手 我想知道是否可以将其存储在变量中 这是 JSON suc
  • 使用 R 中的 str_count 函数对多个模式进行计数

    对 R 相当陌生 并且在使用 R 时遇到了一些困难string count函数来检测多个未知且包含在单独向量中的单词 现在 我知道如何使用以下代码检测模式的单个实例 str count mydf string Apples 我想要做的是从本
  • 如何获取pivot_wider而不是列表中的总值总和?

    data lt data frame row id 0 19 Prediction c 4 20631885375613 0 677197140556434 0 889543113836738 37 8093227242093 105 86
  • Azure 服务结构实例计数

    我正在使用 azure 服务结构开发 POC 将我的服务部署在本地集群中 并且在 Local xml 中的默认设置下运行良好 当我更改实例计数时 它会抛出以下异常 更改实例计数的选项在哪里 基本上我现在正在尝试在两个节点上运行我的服务 当默
  • 使用正则表达式进行 Spark 过滤

    我试图将文件数据过滤为每个日期的好数据和坏数据 因此将得到 2 个结果文件 从测试文件中 前 4 行需要输入良好的数据 最后 2 行需要输入错误的数据 我有 2 个问题 我没有得到任何好的数据 结果文件为空 错误的数据结果如下所示 仅选取名
  • 没有 exec 的 fork,以及共享对象使用的 pthread_mutex_t

    我正在处理一个执行以下操作的网络服务器项目fork没有exec 该程序依赖于OpenSSL 而OpenSSL需要一定数量的锁 CRYPTO NUM LOCKS准确地说 目前约为40 锁通常是pthread mutex t在 Linux 上
  • 在 bash 脚本中使用 screen

    我正在远程服务器上运行游戏服务器 我使用独立的屏幕实例使其保持运行 我现在正在创建一个脚本 可用于关闭服务器 备份所有重要文件并再次启动它 但是我在处理屏幕时遇到了一些困难 我假设我可以通过在脚本中调用 screen r 来切换到脚本中的分