-
[Selenium] Cron 동작 시 "Service chromedriver unexpectedly exited. Status code was: 1" 오류 (SSH 로그아웃 오류)Memo/Python 2026. 9. 19. 22:22
Python Selenium으로 업무 자동화 코드를 작성하고, Ubuntu의 Crontab에 스케쥴을 설정해 자동으로 동작되도록 설정했다.
그런데 참 이상하게도 SSH에 로그인이 되어 있는 상태에서는 코드가 정상적으로 동작하는데,
SSH를 종료한 상태에서는 Chromedriver 생성 부분에서 아래와 같은 오류가 발생하였다.
Message: Service chromedriver unexpectedly exited. Status code was: 1며칠간 고생한 끝에, 결국 클로드를 통해 문제점을 파악할 수 있었다.
결론은 SSH 세션 종료 시 systemd user 인스턴스도 함께 종료되는 것이 문제였다.
이 때문에 crontab이 실행될 때 chromedriver가 필요한 리소스를 찾을 수 없어 발생하는 문제이다.이를 해결하기 위해서는 "linger"를 활성화 해주어야 한다.
linger는 세션이 종료되어도 해당 유저의 systemd user 인스턴스가 계속 살아있게 만든다.
$linger 활성화 sudo loginctl enable-linger $USER※ 참고
1. linger는 tmpfs(메모리 기반)라 용량은 작지만 로그아웃해도 해제가 안 된다. 보통 몇 MB 수준이라 큰 문제는 아니지만, 수많은 유저에게 linger를 켜두면 누적될 수 있다.
(systemd user 인스턴스 자체도 백그라운드 프로세스로 계속 떠있는 상태)2. linger가 켜진 유저는 시스템이 "이 유저는 로그인 안 해도 활성 상태"로 취급하기 때문에, 유저 계정을 삭제하거나 정리할 때 관련 프로세스가 남아있으면 정리가 매끄럽지 않을 수 있다. 삭제 전에 linger를 비활성화 후 진행하는 것을 권장
# linger 비활성화 sudo loginctl disable-linger $USER'Memo > Python' 카테고리의 다른 글
[Selenium] 크롬 디버깅 모드 여러 개의 브라우저 실행하기 (0) 2026.05.10 [Selenium] 크롬 디버깅 모드에서 브라우저 종료(quit) 시키기 (0) 2026.05.10 [Selenium] 크롬 디버깅 모드로 실행 / 옵션 추가 (0) 2026.05.10 [Selenium] 열린 브라우저에서 크롤링 (크롬 디버깅 모드) (0) 2024.07.06 [Selenium] Captcha 이미지 저장. 요소 캡쳐 저장하기 (0) 2024.07.06