恢复 tmux 坚持未运行的 tmux 会话

Mig*_*ell 4 tmux

我有一个 tmux 会话运行了一段时间,我可以看到它正在运行pstree

systemd???accounts-daemon???2*[{accounts-daemon}]
        ??2*[agetty]
        ??containerd???11*[{containerd}]
        ??cron
        ??dbus-daemon
        ??4*[dd]
        ??dockerd???12*[{dockerd}]
        ??fail2ban-server???2*[{fail2ban-server}]
        ??irqbalance???{irqbalance}
        ??networkd-dispat
        ??polkitd???2*[{polkitd}]
        ??qemu-ga
        ??rsyslogd???3*[{rsyslogd}]
        ??ssh-agent
        ??sshd???sshd???sshd???bash???pstree
        ??systemd???(sd-pam)
        ??systemd-journal
        ??systemd-logind
        ??systemd-network
        ??systemd-resolve
        ??systemd-timesyn???{systemd-timesyn}
        ??systemd-udevd
        ??tmux: server???bash???find_cli
        ?              ??3*[bash]
        ??unattended-upgr???{unattended-upgr}
Run Code Online (Sandbox Code Playgroud)

(它在那里的底部)

但是,tmux它本身坚持没有会话:

systemd???accounts-daemon???2*[{accounts-daemon}]
        ??2*[agetty]
        ??containerd???11*[{containerd}]
        ??cron
        ??dbus-daemon
        ??4*[dd]
        ??dockerd???12*[{dockerd}]
        ??fail2ban-server???2*[{fail2ban-server}]
        ??irqbalance???{irqbalance}
        ??networkd-dispat
        ??polkitd???2*[{polkitd}]
        ??qemu-ga
        ??rsyslogd???3*[{rsyslogd}]
        ??ssh-agent
        ??sshd???sshd???sshd???bash???pstree
        ??systemd???(sd-pam)
        ??systemd-journal
        ??systemd-logind
        ??systemd-network
        ??systemd-resolve
        ??systemd-timesyn???{systemd-timesyn}
        ??systemd-udevd
        ??tmux: server???bash???find_cli
        ?              ??3*[bash]
        ??unattended-upgr???{unattended-upgr}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,有没有办法恢复 tmux 会话?

Nic*_*ott 7

如果套接字已被删除,您应该能够使用 tmux 重新创建它pkill -USR1 tmux

  • 啊,所以 `USR1` 是一个程序定义的信号,tmux 使用它作为重新创建套接字的信号。这里的“pkill”不是用来终止进程的,而是将“USR1”发送到 tmux。 (4认同)
  • 我不知道为什么会这样,但确实如此。运行该命令后,我能够立即“tmux Attach”。 (2认同)