解决ssh连接中断程序终止的问题——tmux

本文介绍如何使用Tmux解决SSH连接中断导致运行程序停止的问题。通过Tmux,即使SSH连接断开,程序仍能在后台继续运行。文章详细解释了Tmux的基本操作,包括会话的创建、附着、分离、重命名和销毁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://www.cnblogs.com/kevingrace/p/6496899.html

ssh连接有时候会异常中断,重连后原本运行的程序会中断,要解决这个问题,我们可以使用Linux终端复用神器——Tmux。

 

ubuntu上可以直接用apt-get安装: sudo apt-get install tmux。

 

常用命令:

1、新建会话,比如新创建一个会话以"ccc"命名

# tmux new -s ccc
 
2、加上参数-d,表示在后台新建会话
# tmux new -s shibo -d
 
3、查看已创建的所有会话
# tmux ls        
 
4、登录一个已知会话。即从终端环境进入会话。
第一个参数a也可以写成attach。后面的aaa是会话名称。
# tmux a -t aaa 
 
5、退出会话但不关闭:
登到某一个会话后,依次按键ctrl-b + d,这样就会退出该会话,但不会关闭会话。
如果直接ctrl + d,就会在退出会话的同时也关闭了该会话!
   
6、关闭会话(销毁会话)
# tmux ls
aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]
bbb: 1 windows (created Wed Aug 30 19:02:09 2017) [112x22]
   
# tmux kill-session -t bbb
   
# tmux ls
aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]
  
7、重命名会话
# tmux ls  
wangshibo: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)
  
# tmux rename -t wangshibo kevin
  
# tmux ls
kevin: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)
 

转载于:https://www.cnblogs.com/lucifer1997/p/10106646.html

<think>我们正在解决Jupyter Notebook通过SSH连接时出现中断问题。用户的问题是关于SSH连接中断,因此我们需要分析可能的原因和解决方案。 可能的原因包括:网络不稳定、SSH超时设置、防火墙或中间设备中断连接、服务器资源不足等。 我们将逐步提供解决方案。</think>### Jupyter Notebook SSH连接中断问题解决指南 当通过SSH连接Jupyter Notebook时出现中断,通常由以下原因引起: #### 1. **SSH连接超时** - **问题原因**:默认SSH连接在空闲时会自动断开 - **解决方案**: ```bash # 在~/.ssh/config中添加配置 Host * ServerAliveInterval 60 ServerAliveCountMax 5 ``` 这将每60秒发送心跳包,保持连接活跃[^1] #### 2. **网络不稳定** - **问题原因**:WiFi信号弱或网络波动导致TCP连接中断 - **解决方案**: - 使用`mosh`替代SSH(需要安装): ```bash mosh user@server -- jupyter notebook --no-browser ``` - 添加重连机制: ```bash while true; do ssh -L 8888:localhost:8888 user@server; sleep 2; done ``` #### 3. **防火墙干扰** - **问题原因**:中间防火墙会关闭长时间空闲连接 - **解决方案**: ```python # 在Jupyter配置中设置keepalive c.ServerApp.websocket_keepalive_timeout = 30 # 秒 ``` 配置文件路径:`~/.jupyter/jupyter_server_config.py`[^2] #### 4. **资源限制** - **问题原因**:服务器内存/CPU不足导致进程被终止 - **诊断命令**: ```bash free -h # 查看内存 top # 监控CPU dmesg | grep oom-killer # 检查OOM killer ``` - **解决方案**:限制Notebook内存使用或升级服务器配置 #### 5. **端口转发不稳定** - **问题原因**:本地端口(如8888)冲突或转发失败 - **解决方案**: ```bash # 使用更稳定的autossh autossh -M 0 -N -L 8888:localhost:8888 user@server ``` #### 6. **会话管理问题** - **使用终端复用器**: ```bash # 启动tmux会话 tmux new -s jupyter jupyter notebook --no-browser # 断开后重连:tmux attach -t jupyter ``` > **关键建议**:同时配置客户端(`~/.ssh/config`)和服务端(`/etc/ssh/sshd_config`)的`ClientAliveInterval`参数,并配合使用`tmux`会话管理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值