如何不中断连接保持linux服务器持续运行 —— screen 使用介绍

如何不中断连接保持linux服务器持续运行 —— screen 使用介绍

请参考 ck's blog 以获取最佳观感

在 linux 服务器上跑模型的时候,有时会在终端会话中持续了一段时间后超时断开,或者因为意外情况断网,如果正常在命令行终端执行程序时,此时会中断程序的进行,这很恼火,这就意味着要让程序持续运行,就必须得保持主机和服务器的连接,程序跑一晚上,主机就得开一晚上,那我还要服务器干什么,为了解决这个问题, screen 是个及其有用的方法。

功能介绍

screen是一个非常强大的终端复用器,它在Linux和类Unix系统中有着广泛的用途。以下是screen的一些主要用途:

  1. 保持会话在断开连接后继续运行: 当你通过SSH等远程连接工具连接到服务器时,如果网络连接意外断开,你的工作可能会丢失。使用screen,即使远程连接断开,你的会话也会被保留,并且可以在重新连接后恢复。

  2. 多任务处理: screen允许你在一个终端窗口中创建多个会话(称为“窗口”),并在它们之间轻松切换。这对于同时运行多个进程或命令行任务非常有用。

  3. 协作工作: screen支持多个用户同时连接到同一个会话,这意味着你可以与团队成员协作工作,即使你们身处不同的地方。

  4. 脚本和自动化: screen可以与脚本结合使用,以自动化复杂的任务或流程。例如,你可以编写一个脚本来启动screen会话,运行特定的命令,然后在完成后自动关闭会话。

总之,screen是一个非常灵活且功能强大的工具,它能够提高你在Linux环境下的工作效率,特别是在远程工作和多任务处理方面。

下载与安装步骤

下载 screen 组件

# CentOS
yum install screen
# Debian/Ubuntu
apt install screen

如果此时发生报错:

### 如何在阿里云ECS上设置Jupyter Notebook运行Python程序 #### 安装必要的软件包 为了能够在阿里云ECS实例上顺利部署并使用 Jupyter Notebook 来编写 Python 程序,首先需要确保 ECS 实例已经安装了 Python 和 pip 工具。对于基于 Ubuntu 的系统而言,可以通过如下命令完成 Python3 及其依赖库的安装[^4]: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install python3-pip python3-dev ``` #### 创建虚拟环境(可选) 创建一个新的 Python 虚拟环境有助于隔离同项目之间的依赖关系,防止版本冲突等问题的发生。通过下面这条指令可以快速建立一个名为 `myenv` 的新环境: ```bash python3 -m venv myenv source myenv/bin/activate ``` #### 安装 Anaconda 或 Miniconda (推荐) 考虑到后续可能涉及到的数据科学计算需求以及更方便地管理各种第三方库文件,在此强烈建议先下载并安装 Anaconda 或者轻量级版 Miniconda 。具体操作流程如下所示: 1. 访问官方网站获取最新版本链接; 2. 使用 wget 命令下载对应平台下的二进制分发包; 3. 执行 bash 文件按照提示完成整个过程。 如果选择了 Miniconda,则只需执行以下几条简单的 shell 指令即可轻松搞定一切准备工作: ```bash wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh ``` #### 安装 Jupyter Notebook 并启动服务 当上述步骤都完成后就可以正式进入主题——安装 Jupyter Notebook 本身啦!只需要简单输入一条 pip 或 conda 命令就能搞定全部事情: ```bash pip install jupyterlab # 如果是在纯 Python 环境下工作的话 # 或者 conda install -c conda-forge jupyterlab # 若采用的是 Conda 方式来进行包管理 ``` 接着就是配置防火墙规则允许外部访问指定端口号的服务请求,并且修改默认配置使得能够支持跨域资源共享(CORS),从而让浏览器客户端正常加载页面资源而受同源策略限制影响。最后一步则是利用 nohup 加后台进程的方式保持长时间稳定在线状态提供交互式编程体验给远方用户们享受[^1]。 #### 开放安全组中的相应端口 为了让公网上的设备能成功连接到位于云端之内的 Jupyter Notebook Server ,还需要前往控制台调整对应的网络安全组策略以便于解除对特定 TCP 协议端口(比如常见的 8888 )所施加的一切进出站流量管制措施。 #### 启动 Jupyter Notebook 现在一切都准备就绪之后便可以直接开启 Jupyter Notebook 服务了。为了避免因终端关闭而导致会话中断的情况发生,通常会选择配合 screen 或 tmux 这样的工具一起使用以维持持久化的 SSH Session;当然也可以考虑借助 systemd service unit file 实现更加优雅的任务调度机制[^3]。 ```bash nohup jupyter lab --port=8888 --allow-root --ip=* & ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值