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