不明なPTSでtmuxセッションが失われ、原因と考えられる解決策は?


27

Python Webアプリケーションをチェックするために、長時間実行されているtmuxセッションに再接続しようとしました。ただしtmux attach、実行中のセッションはないと主張しpstmuxプロセス(最初の行)を表示しますが、pts番号の代わりに疑問符が表示されます。

これはどういう意味ですか?このtmuxセッションは永久に失われますか?tmuxセッションで生成され、実行されているpythonプロセスの現在の状態を確認する方法はまだありpts/19ますか(2行目)?

[mhermans@web314 ~]$ ps -ef | grep mhermans
mhermans 16709     1  0 Mar04 ?        00:26:32 tmux
mhermans  8526 16710  0 Mar04 pts/19   00:20:04 python2.7 webapp.py
root      9985  6671  0 10:18 ?        00:00:00 sshd: mhermans [priv]
mhermans 10028  9985  0 10:18 ?        00:00:00 sshd: mhermans@pts/16
mhermans 10030 10028  0 10:18 pts/16   00:00:00 -bash
mhermans 16247 10030  6 10:28 pts/16   00:00:00 ps -ef
mhermans 16276 10030  0 10:28 pts/16   00:00:00 grep mhermans
mhermans 16710 16709  0 Mar04 pts/19   00:00:00 -bash
mhermans 16777 16709  0 Mar04 pts/21   00:00:00 -bash

何がtmux ls表示されますか?
-jasonwryan

「サーバーへの接続に失敗しました:接続が拒否されました」
-mhermans

回答:


40

Webfaction-supportの好意によるソリューション:

プロセスはまだ実行中であったため、問題はおそらく削除されたtmp-directoryが原因の削除されたソケットでした。

tmux地図によると:

ソケットが誤って削除された場合、SIGUSR1シグナルがtmuxサーバープロセスに送信されて再作成されます。

そのため、信号を送信して接続することができます:

killall -s SIGUSR1 tmux
tmux attach

を使用byobuしています。これはtmuxバックエンドとして使用します。これは、誤ってソケットをから削除した後に機能しました/tmp/tmux-<pid>。ありがとう!
ニクスティウルカ

7

端末の不在は、切り離されたセッションの兆候です。そして、すべてのtmuxセッション名はこうして見つけることができます:

ls $TMP/tmux-$(id -u) または ls /var/run/tmux/tmux-$(id -u)

—これはちょっとディストリビューションに依存しています。ほぼ独立した(そしてよりハードコアな)ものは次のようになります。

lsof -n -p 16709 -a -U

16709リスト内のtmuxのPIDはどこにありますか。


id -u単一のファイル「デフォルト」を提供し532/tmp/tmux-532含みます。これはどのようにさらに役立ちますか?
mhermans

試してみてくださいtmux -S /tmp/tmux-532/default at。ただし、デフォルトのソケット名はで十分tmux atです。lsof-versionの意味
poige

最初のコマンドは、「セッションなし」応答になります。lsof -v 出力
-mhermans

lsof私の答えにあるように、男。:)
poige

@mhermans、私は答えのlsof-versionを意味しました。そのソフトウェアバージョンは必要ありません。:)
poige
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.