2017-12-14 10 views
1

스크립트가 실행 중이므로 (스크립트는 인스턴스 내부에 있음) AWS EC2 인스턴스 (우분투)는 txt 파일에 벤치 마크 결과를 작성해야합니다. (인스턴스 자체에서도) 몇 시간마다 ... 이제는 터미널과 ssh를 사용하여 세션을 실행했지만, 터미널을 닫거나 컴퓨터를 종료하면 스크립트가 충돌합니다. 나는 "nohup myscript.py &"을 시도했지만 아무런 성공도하지 못했습니다.CLI 세션이 닫혀 있어도 AWS EC2에서 Python 스크립트를 계속 실행하십시오.

정말 쉬운 방법은 screen 또는 tmux 같은 terminal multiplexers 기존 중 하나를 설치하고이 멀티플렉서 내에서 스크립트를 실행하는 것입니다 제 생각에는 여기

+0

컴퓨터를 종료 할 때 스크립트가 실행 되길 기대합니까? '성공하지 못했다 '는 것은 무엇을 의미합니까? – helloV

+0

예, 스크립트가 AWC EC2 인스턴스 내부에서 실행되므로 (인스턴스를 인스턴스에 업로드하고 인스턴스 내부에서 시작 했음) 터미널을 닫고 세션을 다시 시작하면 출력 txt 파일이 비어 있습니다. – usdq777

+0

더 이상 스크립트를 실행하기 위해 EC2 인스턴스에 SSH (또는 RDP)를 할 필요가 없음을 알아야합니다. EC2 Systems Manager Run Command를 사용하여 원격으로 스크립트를 호출 할 수 있습니다. 이를 사용하여 인스턴스 ID 또는 태그로 식별되는 하나 이상의 EC2 인스턴스에서 스크립트를 쉽게 호출 할 수 있습니다. – jarmod

답변

0

도움을 감사하겠습니다. 이렇게하면 쉘 세션 연결을 끊은 후에도 스크립트를 실행할 수 있습니다.

AWS EC2 시스템을 종료해도 screen/tmux 세션이 종료되고 해당 컴퓨터를 다시 시작한 후에도 스크립트가 복원되지 않습니다. 그러나 원격 시스템의 screen/tmux 세션에서 분리 한 후 로컬 컴퓨터를 안전하게 닫거나 다시 시작할 수 있으며 몇 시간 또는 며칠 또는 몇 년 후에 다시 연결하면 스크립트가있는 원격 세션이 여전히 남아 있어야합니다 (AWS EC2 machine wasn ' t가 재시작되었거나 화면/tmux 세션이 관리자가 수동으로 닫히지 않았습니다. 마찬가지로 위에서 언급 한

+0

스크립트가 AWS EC2 인스턴스 내에서 실행되는 경우에도 로컬 시스템을 종료하면 EC2 인스턴스 내부의 스크립트가 종료됩니다. – usdq777

+1

아니요, 로컬 시스템은 원격의 분리 된 화면 세션에 아무런 영향을 미치지 않습니다. –

+0

@ usdq777 : 혼란스럽지 않은 재시동에 대한 정보를 얻기 위해 내 대답을 업데이트했습니다. –

0

는 아마존 EC2 인스턴스와 같은 TMUX 창을 시작합니다

tmux new -s mywindow 

새로운 창이 스크립트를 실행 시작되면. 스크립트가 실행되면 ssh 클라이언트를 닫거나 로컬 컴퓨터를 종료 할 수 있습니다. 당신이 결과를 확인하려는 경우, 다시 ssh를 통해 EC2에 로그인이를 입력 :

tmux a -t mywindow 

이 당신의 스크립트를 실행하여 원래의 창으로 다시 당신을 데려 갈 것이다.