通过tmux让程序在ssh退出后保持运行

SSH远程登录到Linux服务器,执行一个程序,在SSH退出时,该程序也将退出。

一种解决办法是通过nohup,此外也可以通过tmux解决该问题,并且每次断开,再登录ssh都能回到原来的状态,提供一种比较好的交互体验。

tmux和screen类似,是一个终端复用器。

安装tmux后,在执行任务前先执行tmux,创建一个默认会话。

tmux

为了便于管理,给会话重命名

ctrl + b | $

ctrl+b组合键输入后,再输入$重命名会话为有意义的名称

此时在启动需要长期执行的目标程序比如:

top

执行dettach退出tmux

ctrl + b | d

ctrl+b组合键输入后,再输入d

之后需要再次进入先前会话时,可以输入

tmux attach -t session_name

此外,tmux是支持多会话的,可以同时存在多个会话

ctrl + b | s

ctrl+b组合键输入后,再输入s可以显示会话列表,并且支持切换

为了方便,可以在新建会话时直接指定其名称

tmux new -s session_name

版权声明:本文为skyupward原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。