알 수없는 pts, 원인 및 가능한 해결책에서 tmux 세션이 손실 되었습니까?


27

파이썬 웹 응용 프로그램을 확인하기 위해 장기 실행 tmux 세션에 다시 연결하려고했습니다. 그러나 tmux attach실행중인 세션이 없다고 주장 ps하고 tmux프로세스 (첫 번째 줄)를 표시하지만 pts숫자 대신 물음표가 표시됩니다 .

이것이 무엇을 의미합니까?-이 tmux 세션이 영구적으로 손실 되었습니까? tmux 세션에서 생성되고 pts/19(두 번째 줄) 실행중인 파이썬 프로세스의 현재 상태를 볼 수있는 방법이 있습니까?

[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 디렉토리로 인해 발생했을 수 있습니다.

지도에 따르면 tmux:

실수로 소켓을 제거하면 SIGUSR1 신호가 tmux 서버 프로세스로 전송되어 다시 생성 될 수 있습니다.

따라서 신호를 보내고 연결하는 작업은 다음과 같습니다.

killall -s SIGUSR1 tmux
tmux attach

내가 사용하고 byobu사용하는 tmux백엔드로, 내가 실수에서 소켓을 삭제 한 후이 나를 위해 일했다 /tmp/tmux-<pid>. 감사!
Nicu Stiurca

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단일 파일 "default"를 제공 532하고 /tmp/tmux-532포함합니다. 이것이 어떻게 더 도움이 되나요?
mhermans 2016 년

시도 tmux -S /tmp/tmux-532/default at하지만 기본 소켓 이름은로 확인해야합니다 tmux at. lsof-version은 무엇 을 말합니까?
poige

첫 번째 명령으로 "세션 없음"응답이 발생합니다. lsof -v 출력 .
mhermans 2016 년

lsof내 대답에 주어진 것처럼, 친구. :)
poige 2018 년

@ mhermans, 나는 대답의 lsof 버전을 의미했기 때문에 소프트웨어 버전이 필요하지 않습니다. :)
poige 2018 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.