SSH에서 쉘 스크립트를 실행하고 연결을 끊습니다.

SSH에서 쉘 스크립트를 실행하고 연결을 끊습니다.

세션 연결을 끊을 때 열려 있는 여러 프로세스를 시작하는 SSH에서 실행되는 스크립트가 있습니다.

이것이 가능한가? 백그라운드에서 스크립트를 시작하는 것은 해결책이 아닙니다...

고쳐 쓰다

내 스크립트는 다른 클래스 경로를 사용하여 Java 프로세스를 시작하고 4개의 다른 스크립트를 호출합니다. 각 스크립트는 다른 클래스 경로를 사용하여 다른 Java 프로세스를 시작합니다.

답변1

프로세스가 어떤 방식으로든 대화형이거나 데몬으로 실행하기에 적합하지 않은 경우 다음과 같은 것을 찾고 있습니다.GNU 화면또는멀티플렉서- 둘 다 여러 창으로 세션을 시작하고 해당 세션을 분리했다가 다시 연결할 수 있습니다.

tmux new-session session-1
# start an application
C-b d # C-b means Ctrl-b
# You're now back in your terminal and can disconnect from the server
# After connecting again, use
tmux attach -t session-1
# to get back to your previously created session.

화면 작업 흐름은 비슷하지만 머리 속 어디에 있는지 모르겠습니다.

답변2

"열린 상태"가 무엇을 의미하는지에 따라 다릅니다. 당신이 그럴 것이라고 말한다면다시 연결하다출력을 확인하고 잠시 후 상호 작용하면 Wieland가 좋은 제안을 했습니다. 종료 시 계속 실행되도록 하려면 다음을 사용해 보십시오 nohup. 전경 또는 배경이 될 수 있으며 트릭을 수행할 수 있습니다.

답변3

@Wieland의 답변을 완성하려면 다음과 같이 GNU Screen을 사용할 수 있습니다.

screen -S 세션 이름
# 여기서 신청을 시작하세요
Ca d # Ca는 Ctrl과 "a" 키를 나타냅니다. "d"는 "분리"를 의미합니다.
# 이제 터미널로 돌아왔으며 서버와의 연결을 끊을 수 있습니다

# 다시 연결 후 사용
screen -r 세션 이름
# 이전에 생성된 세션으로 돌아갑니다.

관련 정보