通过tmux让程序在xshell退出后保持运行
程序员文章站
2022-07-15 17:07:23
...
安装:
yum install tmux
使用:
SSH远程登录到Linux服务器,执行一个程序,在SSH退出时,该程序也将退出。
一种解决办法是通过nohup,此外也可以通过tmux解决该问题,并且每次断开,再登录ssh都能回到原来的状态,提供一种比较好的交互体验。
跳过安装步骤:
1、首先:新建会话并直接指定其名称
tmux new -s session_name
2、退出tmux:ctrl+b组合键输入后,再输入d
ctrl + b | d
3、再次进入先前会话时,可以输入
tmux attach -t session_name
4、查看所有会话:ctrl+b组合键输入后,再输入s
ctrl + b | s
快捷键参考
按下 Ctrl-b
后的快捷键如下:
基础
-
?
获取帮助信息
会话管理
-
s
列出所有会话 -
$
重命名当前的会话 -
d
断开当前的会话
窗口管理
-
c
创建一个新窗口 -
,
重命名当前窗口 -
w
列出所有窗口 -
%
水平分割窗口 -
"
竖直分割窗口 -
n
选择下一个窗口 -
p
选择上一个窗口 -
0~9
选择0~9对应的窗口
窗格管理
-
%
创建一个水平窗格 -
"
创建一个竖直窗格 -
h
将光标移入左侧的窗格* -
j
将光标移入下方的窗格* -
l
将光标移入右侧的窗格* -
k
将光标移入上方的窗格* -
q
显示窗格的编号 -
o
在窗格间切换 -
}
与下一个窗格交换位置 -
{
与上一个窗格交换位置 -
!
在新窗口中显示当前窗格 -
x
关闭当前窗格> 要使用带“*”的快捷键需要提前配置,配置方法可以参考上文的“在窗格间移动光标”一节。——译者注
常用
- tmux new -s $session_name 创建并指定session名字
- Ctrl+b :kill-session 删除session
-
Ctrl+b d 临时退出session
-
tmux a -t $session_name 进入已存在的session
-
Ctrl+b :kill-server 删除所有session
-
tmux kill-session -t $session_name 删除指定session
-
tmux ls 列出session