저는 주로 Python을 사용하고 데이터 과학 프로젝트를 관리하기 위해 SSH를 통해 원격으로 Ubuntu를 사용합니다. 나는 보통 쉘 파일을 통해 스크립트를 실행합니다. tqdm
프로세스 시간을 추적하는 데 사용합니다 .
PC 연결을 끊고 백그라운드에서 프로세스를 계속 진행하자 15분 걸리던 작업이 갑자기 몇 시간으로 늘어났습니다.
왜 그런 겁니까? 이 문제를 해결하려면 어떻게 해야 합니까?
답변1
연결 끊김이 문제인지 확인하는 쉬운 방법은 다음을 실행하는 것입니다.GNU 화면또는멀티플렉서원격 SSH 세션에서(둘 다 기본 Ubuntu 패키지 저장소에 있음) 그런 다음 screen/tmux 창에서 스크립트를 실행하세요.
우리가 원하는 screen/tmux의 주요 기능은 원격 세션 연결이 끊어진 경우에도 셸과 하위 프로세스를 계속 실행하는 기능입니다. screen/tmux 창 내부의 쉘/하위 프로세스는 다음에서 실행되므로 인식하지 못합니다.푸티원격 로그인 프로세스(이 경우 sshd)가 아닌 screen/tmux에 속합니다.
일반적으로 저는 screen/tmux 세션에서 심지어 로컬에서도 장기 명령을 실행합니다. 그 밖에도 많은 이점이 있지만 여기서는 자세히 다루지 않겠습니다.
계속해서 근본 원인을 찾는 데 도움이 되도록 수행한 정확한 단계에 대한 자세한 내용을 제공하면 더 쉬울 것입니다. SSH를 통해 연결하고 원격 시스템에서 쉘을 얻습니다. 그렇다면 "myScript &"와 같은 것을 사용하여 백그라운드에서 스크립트를 실행한 다음 로그아웃하시겠습니까? "nohup myScript &"를 사용하시나요?