문제 상황
크롤링 프로그램을 실행한 후 컴퓨터 렉이 전체적으로 심해지는 현상이다.
특히 크롤링 프로그램을 만드는 과정에서 많은 테스트를 하다보면 빈번하게 일어날 수 있다.
문제 원인
웹 크롤링 시 headless을 사용하게 되면 백그라운드 프로세스에 돌아가게 된다.
백그라운드 프로세스에 있는 것을 종료해주지 않고 계속 쌓여서 생기는 문제이다.
문제 해결
크롤링으로 실행된 백그라운드 프로세스에 실행되고 있는 프로그램을 종료시킨다.
1) [Ctrl]+[Shift]+[Delete] 을 동시에 눌러 [작업 관리자]를 선택한다.
또는 [윈도우 버튼] 을 눌러 검색창에 "작업 관리자"를 검색한다.
2) 작업 관리자 창을 내리면 "백그라운드 프로세스" 항목이 보인다. 여기서 Google Chrome(크롤링 프로그램으로 열리는 창의 인터넷 브라우저)을 찾는다.
3) 찾았다면 그 부분을 [마우스 우클릭] > [작업 끝내기] 로 모두 없애준다. (아래 그림 참조)
4) 없애면 CPU가 많이 내려가고 렉 현상이 해결되었음을 볼 수 있다.
이런 현상을 방지하기 위한 꿀Tip
문제 원인에서 백그라운드 프로세스에 있는 것을 종료해주지 않고 계속 쌓여서 생기는 문제라는 것을 파악했다.
즉, 백그라운드 프로세스에 쌓이지 않도록 코드를 짜면 되는 것이다.
크롤링 프로그램 마지막에 아래 코드 한 줄을 추가하면 된다.
# 자신이 작성한 코드 수행
# 제일 마지막에 quit() 함수를 통해 백그라운드 작업을 종료시킨다.
driver.quit()