SSH "tmux a || tmux"가 때때로 작동하나요?

SSH "tmux a || tmux"가 때때로 작동하나요?

이 명령은 항상 작동합니다(sh 또는 bash 사용).

ssh -t HOST sh -c "tmux a 2>/dev/null || tmux"

이러한 방법은 약 절반 정도 실패합니다.

ssh -t HOST -- "tmux a 2>/dev/null || tmux"
ssh -t HOST "tmux a 2>/dev/null || tmux"

server exited unexpectedlytmux 또는 또는 에서 오류가 발생했습니다 lost server. (테스트할 때 tmux 세션이 열려 있지 않아 항상 두 명령을 모두 실행했습니다.)

왜 그들은 실패하고 가끔만 실패하지만 항상 그런 것은 아니겠습니까?

답변1

나는 답을 찾은 것 같아요:

attach-session [-dErx] [-c working-directory] [-t target-session]
              (alias: attach)
        If no server is started, attach-session will attempt to start it; this will 
        fail unless sessions are created in the configuration file.
  • tmux a연결을 시도할 뿐만 아니라 tmux 서버도 시작합니다(실패하고 종료되기 시작함).
  • tmux명령은 새 세션을 생성하려고 시도합니다. 때로는 서버 프로세스가 tmux a여전히 존재하여 해당 서버와 통신하는 경우도 있습니다.
  • 마지막으로 서버 프로세스가 종료되고 메시지 tmux와 함께 실패합니다 .server exited unexpectedly

관련 정보