[오류해결] Selenium 사용시 target frame detached (failed to check if window was closed: disconnected: Unable to receive message from renderer) 에러 - screen 사용

2023. 5. 3. 01:44· #️⃣ Project 및 개발일지/개발일지
목차
  1. Screen이란?
  2. 해결과정 (Screen 설치 및 세션 시작)

처음에 ec2와 s3를 돌리던 aws 계정이 프리티어 한도를 거의 넘어갈뻔하여, 계정을 새로 파서 다시 환경 세팅을 했다.

환경 세팅을 다 마친 후 파이썬 스크립트를 nohup으로 백그라운드 키고 창을 닫으니 아래와 같은 오류가 발생했다.

 

nohup python3 main.py &
# 오류 
 target frame detached
  (failed to check if window was closed: disconnected: Unable to receive message from renderer)

 

처음 ec2에서는 안 떴는데 이상해서 구글링 해보니, 크롬 드라이버 버전 문제라는 stackoverflow를 봤는데 내 상황과 달랐다.

 

만능 ChatGPT에게 물어보니 이유를 빠르게 알아챌 수 있었다. 

 

읽고 보니, 첫 ec2 돌릴때와 차이점이

  1. 새로 추가한 코드가 팝업창을 클릭하는 코드 추가함

  2. 크롬 드라이버 버전 업

크게 이 두 가지인데, 정확히 어떤 원인인지는 모르겠지만, 하나 확실한 건 chatGPT 말대로 'SSH 연결을 끊거나 터미널 세션이 종료될 때 발생할 수 있는 ChromeDriver의 오류' 인 듯하다.

 

이를 해결하기 위해 nohup 대신 screen을 사용해보라 하여 바로 시도해보았다.

 

 


그 전에..

Screen이란?

Linux/Unix 시스템에서 사용할 수 있는 터미널 멀티플렉서 프로그램으로, 말 그대로 "터미널 가상화"를 지원해준다.

screen을 통해 하나의 터미널에서 여러개의 터미널 세션을 만들수 있다.

 

이는  세션을 분리하고 다른 터미널에 다시 연결하고, 사용자와 세션 공유도 가능케 한다.

 

 백그라운드로 돌아가기 때문에, 스크린에서 명령어 입력하고 터미널을 종료해도 작업을 이어갈 수 있다는 장점이 있다. 

 


해결과정 (Screen 설치 및 세션 시작)

1. screen 설치

sudo apt-get install screen

2. screen 세션 시작

screen

3. 실행할 python 스크립트가 있는 곳으로 가서 nohup으로 백그라운드 실행 

nohup python3 main.py &

4. screen 세션 종료

Ctrl+A, d 을 눌러 세션 종료 가능하다

 

 

 

이제 ssh연결을 끊거나 터미널 세션이 종료되어도 계속 실행된다. 

'ps -ef | grep screen' 명령어 입력 시 백그라운드로 잘 돌아가고 있는 것을 확인가능하다.

만약 세션에 재접속 하려면 다음 명령어를 쓰면 된다.

screen -r

 

드디어 잘 돌아간다

ec2 연결(ssh/terminal)을 끊어도 백그라운드에서 파이썬 스크립트가 잘 돌아가는 것을 확인할 수 있다.

 

 

오류 해결 성공...!!!!

 

저작자표시 비영리 동일조건 (새창열림)

'#️⃣ Project 및 개발일지 > 개발일지' 카테고리의 다른 글

[Django] 장고 Logging하기  (0) 2023.05.03
[크롤링] beautifulsoup 값 안 가져와짐 - 정적 페이지 판단법  (0) 2023.05.03
[AWS EC2] SSH 연결: Permission denied (publickey) 오류 해결  (0) 2023.04.26
[Docker] Python 크롤러 프로젝트 Docker image로 EC2로 배포하기  (0) 2023.04.24
[Python] 에러 클래스의 메세지를 Slack chat으로 보내기  (0) 2023.04.24
  1. Screen이란?
  2. 해결과정 (Screen 설치 및 세션 시작)
'#️⃣ Project 및 개발일지/개발일지' 카테고리의 다른 글
  • [Django] 장고 Logging하기
  • [크롤링] beautifulsoup 값 안 가져와짐 - 정적 페이지 판단법
  • [AWS EC2] SSH 연결: Permission denied (publickey) 오류 해결
  • [Docker] Python 크롤러 프로젝트 Docker image로 EC2로 배포하기
HyeM207
HyeM207
"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로
HyeM207
HYEM's Storage
HyeM207
  • ALL (115)
    • #️⃣ CS (Computer Science) (5)
      • Database (2)
      • SQL (2)
      • Git (1)
    • #️⃣ Data Engineering (43)
      • Airflow (18)
      • Spark (8)
      • Snowflake (2)
      • BI,DashBoard (4)
      • ELK Stack (2)
      • Hadoop (5)
      • Kafka (4)
    • #️⃣ Cloud&Container (16)
      • AWS (8)
      • GCP (1)
      • Docker (6)
      • Kubernetes (1)
    • #️⃣ Project 및 개발일지 (37)
      • Mini Project (5)
      • 개발일지 (9)
      • Algorithm 문제 풀이 (20)
    • #️⃣ 책 리뷰 (4)
    • #️⃣ 회고글&프로젝트 후기 (10)

공지사항

인기 글

최근 댓글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.v4.2.2
HyeM207
[오류해결] Selenium 사용시 target frame detached (failed to check if window was closed: disconnected: Unable to receive message from renderer) 에러 - screen 사용
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.