私の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}
(下にあります)
しかし、tmux
セッションがないと自分で主張します。
$ tmux attach
no sessions
$ tmux ls
no server running on /tmp/tmux-1000/default
この状況でtmuxセッションを復元する方法はありますか?
答え1
コンセントを取り外した場合は、次のことができます。tmuxに再生成させるそしてpkill -USR1 tmux
。
答え2
ps
または、他のプロセス情報コマンドがtmux
まだ実行されているように見えてもコマンドに正しく応答しない場合は、tmux attach
SIGUSR1シグナルをtmuxサーバーに送信してtmuxを再対話型にすることもできます。
上記の回答で述べたように、これはコマンドを使用して実行できますpkill -USR1 tmux
。その後、tmux attach
コマンドを再実行して、tmuxと対話できることを確認できます。
機関銃を使用するのではなく、pkill
特定のPID番号を使用することですkill
。コマンドテンプレートは、pkill
プログラム名パターンの代わりにPID番号を使用するのと非常に似ています。したがって、コマンドは次のようになります。
$キル-USR1 NNNN
出力を注意深く読むとNNNNが得られますps ax | grep tmux
。これは、複数の tmux インスタンスが実行中であると仮定します。それ以外の場合(つまり、tmuxの単一インスタンスのみを実行している場合)、tmuxは実際には簡単ですpkill
。
ちなみに、私は特にrootとして使用された場合、両方とも非常に危険でpkill
あることがわかりました。killall