应用场景
Xshell 远程连接服务器 ,断电 or 断网等原因,导致Xshell会话关闭,然而,此时如果有程序在运行也会被中断,对于那些需要长时间运行的程序,如何避免程序运行中断?
即,如何保持在远程连接关闭的情况下程序依然保持运行?
使用 tmux 与 screen
screen
和 tmux
都是终端复用,大体的功能上都差不多,tmux 是 BSD 协议,screen 是 GNU 协议。从个人感觉上 tmux 对个人更友好,在分割窗口 时候自动创建新会话,同时有状态条显示,还可以自动命名窗口,这是 screen 没有的。screen 可以和其他用户分享会话,而 tmux 不行。
tmux常用使用方法
- 安装
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
- 新建会话
$ tmux new -s <session-name>
- 退出当前会话
$ tmux detach
或快捷键 Ctrl+b d
- 查看会话列表
tmux ls
- 接入一个会话
# 使用会话编号
$ tmux attach -t 0
# 使用会话名称
$ tmux attach -t <session-name>
- 切换会话
# 使用会话编号
$ tmux switch -t 0
# 使用会话名称
$ tmux switch -t <session-name>
还有一些其他的窗格操作就不再记录了,因为感觉用xshell管理窗格比tmux管理窗格要方便,直接在xshell打开多个窗口然后每个窗口使用一个tmux会话操作即可。
更多内容与参考来自: