linux命令screen解决client_loop: send disconnect: Broken pipe

一、SSH连接服务器,client_loop: send disconnect: Broken pipe

最近需要在服务器上运行一个需要跑很久的脚本,但ssh连接的远程服务器的命令窗口经常会报:client_loop: send disconnect: Broken pipe,这个错误是ssh命令之后没有活动导致连接被关闭。断开ssh连接后运行的脚本就停止了。

二、screen命令

screen是一个终端多路复用器,它允许你在一个终端窗口中运行多个会话,并在需要时进行切换。每个虚拟终端都有一个回滚历史缓冲区和一个复制粘贴机制,允许用户在窗口之间移动文本区域。

当调用screen时,它会创建一个包含shell(或指定命令)的窗口,然后避开您的方式,以便您可以正常使用该程序。然后,您可以随时创建包含其他程序(包括更多shell)的新(全屏)窗口、关闭当前窗口、查看活动窗口列表、打开和关闭输出日志、在窗口之间复制文本、查看滚动历史记录、在窗口之间切换,等等。

使用screen,所有窗口都完全独立运行其程序。你可以在断开SSH连接后仍然保持后台运行。

三、安装screen

Debian/Ubuntu安装命令:

bash 复制代码
sudo apt-get update && sudo apt-get install screen

CentOS/RHEL安装命令:

bash 复制代码
sudo yum install screen

Fedora安装命令:

bash 复制代码
sudo dnf install screen

Arch Linux安装命令:

bash 复制代码
sudo pacman -S screen

四、创建一个新的screen窗口

不需要创建多个窗口时:

bash 复制代码
screen

需要创建多个窗口时,需要给每个窗口命名:

bash 复制代码
screen -S screen-name

-S后接新窗口的自己命名的窗口名称【screen-name】

如图所示:

五、退出窗口视图

使用ctrl+a,然后输入d,退出当前窗口,也可以使用screen -d退出当前窗口。

退出后窗口,在窗口运行的程序继续运行。

六、结束窗口

在窗口输入:exit+回车。

退出窗口后,杀死在窗口运行的程序。

七、查看窗口是否在后台运行

bash 复制代码
screen -list

效果如图所示:

bash 复制代码
screen -ls

效果如图所示:

八、重新进入后台运行的窗口视图

bash 复制代码
screen -r screen-name

-r后接自己命名的窗口名称【screen-name】

如图所示:

相关推荐
雷工笔记17 分钟前
计算机更换硬盘并新装系统
运维·学习
权泽谦19 分钟前
从 Linux 到 Docker:一条通向 DevOps 的进阶之路
linux·docker·devops
运维成长记22 分钟前
11月份运维面试题
运维
yuanManGan30 分钟前
走进Linux的世界:进程优先级
linux·运维·服务器
一叶知秋yyds32 分钟前
linux 系统查看进程占用物理内存大小方法
linux·运维·服务器
JiMoKuangXiangQu35 分钟前
bash 启动程序的流程
linux·bash·进程启动
大志若愚YYZ39 分钟前
嵌入式Linux——Shell脚本编程
linux
大志若愚YYZ40 分钟前
嵌入式Linux学习——环境变量与配置文件的关系(⭐难理解)
linux·学习
香吧香1 小时前
SNMP 请求响应报文传输分片定位
linux·网络与传输协议
AI绘画小331 小时前
渗透测试数据库判断卡壳?分类 + 方法 + SQL/NoSQL 脚本速用
服务器·数据库·sql·mysql·web安全·nosql