我知道的问题是基本问题,但在社区中找不到完全匹配的问题。
使用 tmux 的标准过程是 - 创建一个会话,在其中运行命令,然后分离会话。所以现有的 ssh 终端不会杀死我们的进程。
我的问题是,是否创建了 tmux 会话并且其中正在运行一个长命令。但在分离之前,如果 ssh 会话终止,那么这个 tmux 会话会持续存在还是也会被终止?
基本上在失去 ssh 连接后,子进程将收到一个SIGHUP
. 此信号会导致tmux
自身与丢失的 ssh 会话分离。
因此,即使 ssh 会话终止,tmux 的会话也将在远程计算机上保持持久状态。
自己测试一下:
tmux
.sleep 100
.pkill -1 tmux
。
tmux ls
以查看您的会话是否仍然存在。
tmux attach
提出来。我还在远程计算机上测试了实际丢失 ssh 会话的情况,结果是相同的。