与SSH断开连接时,tmux会话被杀死
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 5年前。 摘要:我试图弄清楚为什么我从ssh断开连接后,tmux会话会死掉 详细资料: 我在Arch Linux系统上安装了tmux。当我启动tmux会话时,我可以从中分离出来,然后在ssh会话处于活动状态时再次附加。但是,如果我结束ssh会话,则tmux会话将被杀死。 我知道这不是正常的行为,因为即使ssh会话已结束,我也有其他系统在其中tmux会话继续运行,并且可以在建立新的ssh连接后附加到tmux会话。有问题的系统和可以正常工作的系统具有非常相似的配置,因此我不确定要检查什么。 我正在运行tmux 1.9a版本。有问题(我具有root用户访问权限)的系统具有3.17.4-1的Linux内核版本,而工作正常的系统具有3.16.4-1-ARCH的内核(我没有root权限)系统)。我怀疑内核版本是否是问题的根源,那只是我注意到的一个区别。 我想问一下是否有人遇到过类似的问题并知道可能的解决方案。 导致问题的确切步骤是: SSH到机器 运行tmux以启动tmux ctrl-B D 分离(此时我可以重新连接 tmux attach 关闭ssh会话(此时tmux会话已终止,当我以root身份登录到另一个终端时,已经能够观察到此情况) 与SSH重新连接并运行tmux attach,我得到消息no sessions和运行tmux ls返回failed to connect to server: Connection refused。这是有道理的,因为服务未运行。对我来说没有意义的是为什么当我从ssh会话断开连接时,它在步骤4中被杀死。 跟踪数据: 作为对其中一项评论的回应,我使用了strace来查看什么系统调用了tmux服务器进程。当我退出ssh会话(通过键入exit或使用ctrl-d)时,tmux进程被杀死了。这是strace输出的最后一部分。 poll([{fd=4, events=POLLIN}, {fd=11, events=POLLIN}, {fd=6, events=POLLIN}], 3, 424) = ? ERESTART_RESTARTBLOCK (Interrupted by signal) …