Ubuntu 쉘에서 tmux 세션을 생성하면 "tmux에 연결하는 동안 오류가 발생했습니다"가 발생합니다.

Ubuntu 쉘에서 tmux 세션을 생성하면 "tmux에 연결하는 동안 오류가 발생했습니다"가 발생합니다.

EC2에서 실행 중인 서버가 있고 새 버전의 애플리케이션을 배포해야 할 때마다 다음 스크립트를 실행합니다.

#Kills tmux and kills <my-app> process
pkill -f tmux
pkill ./my-app

#Removes old bot files and extracts new ones
rm -rf myapp/*
unzip publish.zip -d myapp

#Grants permissions to the botfile
chmod 750 myapp/*
chown root:ubuntu myapp/*

#Starts bot and creates a new tmux session
pkill -USR1 tmux
tmux new_session -d -s  session-name './myapp/my-app'

tmux터미널에서 직접 호출하면 새 세션을 시작하고 애플리케이션을 실행하는 마지막 줄이 제대로 작동하지만 스크립트 내에서 실행하면 다음 오류가 발생합니다.

error connecting to /tmp/tmux-1001/default (No such file or directory)

pkill -USR1 tmux다른 스택 교환 게시물을 읽으면서 문제가 해결되지는 않았지만 신호 tmux에 추가하는 것이 제안되었습니다 . 이 문제를 어떻게 해결할 수 있나요?

답변1

나타나는 오류 메시지:

error connecting to /tmp/tmux-1000/default (No such file or directory)

연결할 tmux 세션이 없으므로 스크립트가 tmux 세션을 생성하지 않는 것 같습니다. 내가 당신의 명령을 실행할 때

tmux new_session -d -s  session-name './myapp/my-app'

다음 오류가 발생합니다.

unknown command: new_session

하지만 다음을 실행하세요.

tmux new -d -s TestSession -c myapp/my-app

예상대로 작동합니다. 이 위치는 다음과 같습니다: Linux #142 - Ubuntu SMP 2022년 8월 26일 금요일 12:12:57 UTC 2022 달리기: 멀티플렉서 3.0a

답변2

세션을 분리하지 않고 삭제하면 오타 -d도 있습니다 .new_sessionnew-session

마지막 줄을 다음으로 바꾸십시오.

tmux new-session -s myapp './my-app/MyApp'

새 세션을 만든 myapp다음 해당 세션을 사용하여 액세스할 수 있습니다.

tmux a -t myapp

관련 정보