私はサーバーでタスクを再開するためにscreenとtmuxを使用しました。突然、インターネット接続が切断された場合、またはセッションを安全に切断した後にログアウトしてから再度ログインしても、アクティブセッションが消えるtmuxとscreenの両方でこの問題が発生しました。インターネット接続を切断して再接続したり、ログアウトしたり、端末を閉じたりするなどの接続が中断されると、ほとんどの場合、魔法のようにセッションが再び生き返ります。セッションで実行されているプロセスがまだ出力を生成しているため、セッションはまだ実行中であることがわかります。しかし、時にはセッションを再開するために中断方法を使用することはできず、数日後に再び表示されます。
このセッションはSSHで実行されているため、root権限がありません。したがって、「killall -10 tmux」を実行すると、「操作が許可されていません」エラーが発生します。この問題を解決する方法に関する提案はありますか?
答え1
これは本当に奇妙です。 (tmuxの話が出てきたので、純粋なスクリーンを長く使用していません)
tmux セッションを開くときの手順は次のとおりです。
- SSHを介してサーバーシステムに接続します。
- セッションの作成
tmux new-session -s <session name>
この奇妙な状況を発見した場合の出力は何ですかtmux list-sessions
?通常、別々のセッションが表示され、後で再接続するために使用できますtmux attach -t <session name>
。
「魔法のように会議に活力を吹き込む」とはどういう意味ですか?サーバーにSSHで接続すると、セッションが再開されることを魔法のように見つけましたか?
答え2
これは、他のユーザー(sudo -iまたは他のユーザー)でセッションを開始したためです。もう一度ログインしたら、他の利用可能なユーザーを試して、実行中のtmuxセッションがあることを確認してください。tmux list-sessions