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】

如图所示:

相关推荐
天狼122212 分钟前
第5章-1 优化服务器设置
运维·服务器·adb
傻啦嘿哟1 小时前
Python正则表达式:用“模式密码“解锁复杂字符串
linux·数据库·mysql
浪裡遊3 小时前
Linux常用指令
linux·运维·服务器·chrome·功能测试
SugarPPig3 小时前
PowerShell 查询及刷新环境变量
服务器
段ヤシ.4 小时前
银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
linux·centos·银河麒麟·rbenv·ruby2.6.5·rails 5.2.6
深夜情感老师5 小时前
centos离线安装ssh
linux·centos·ssh
我的作业错错错6 小时前
搭建私人网站
服务器·阿里云·私人网站
王景程6 小时前
如何测试短信接口
java·服务器·前端
微网兔子7 小时前
伺服器用什么语言开发呢?做什么用什么?
服务器·c++·后端·游戏
夸克App7 小时前
实现营销投放全流程自动化 超级汇川推出信息流智能投放产品“AI智投“
运维·人工智能·自动化