You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

退出EC2实例SSH连接后Chromedriver意外退出的问题求助

Ubuntu EC2实例后台运行Selenium脚本断开SSH后报错的解决方法

问题描述

我在Ubuntu EC2实例上运行一个带循环的Selenium脚本,期望实现后台持续运行,脚本代码如下:

from selenium import webdriver

def play():
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-gpu")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("enable-automation")
    chrome_options.add_argument("--disable-infobars")
    chrome_options.add_argument("--disable-dev-shm-usage")
    try:
        driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=chrome_options)
    except Exception as e:
        with open(f'{os.getcwd()}/error_log.txt', 'a') as f:
            f.write(str(datetime.datetime.now()))
            f.write(str(e))

通过SSH连接实例时脚本运行正常,但断开SSH后出现如下错误:

Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was: 1

启动脚本使用的命令为:nohup python3 script.py &

解决方法

1. 补全脚本依赖并配置环境变量

脚本中缺少os和datetime模块的导入,且断开SSH后环境变量可能丢失,需在脚本开头添加以下内容:

import os
import datetime

# 配置必要环境变量,确保无头模式运行稳定
os.environ['DISPLAY'] = ':0'
os.environ['PATH'] = '/usr/bin:' + os.environ.get('PATH', '')

2. 改用screen/tmux替代nohup

nohup无法完全隔离SSH会话资源,使用screen能更可靠地维持后台进程:

  • 安装screen:sudo apt update && sudo apt install screen
  • 创建新会话:screen -S selenium_run
  • 在会话内启动脚本:python3 script.py
  • 按Ctrl+A+D脱离会话,此时断开SSH脚本仍会持续运行
  • 重新连接后恢复会话:screen -r selenium_run

3. 校验chromedriver与Chrome版本兼容性

版本不匹配是导致chromedriver意外退出的常见原因:

  • 查看Chrome版本:google-chrome --version
  • 下载对应版本的chromedriver替换/usr/bin/chromedriver,或通过包管理器安装匹配版本。

4. 增强错误日志排查

修改脚本的异常捕获逻辑,记录更多环境细节,便于定位问题:

except Exception as e:
    log_path = os.path.join(os.getcwd(), 'error_log.txt')
    with open(log_path, 'a') as f:
        f.write(f"\n[{datetime.datetime.now()}] 错误信息: {str(e)}\n")
        f.write(f"当前PATH: {os.environ.get('PATH', '未获取到')}\n")
        f.write(f"当前DISPLAY: {os.environ.get('DISPLAY', '未设置')}\n")

内容的提问来源于stack exchange,提问作者ADL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:25:21