PhantomJS 进程不退出

PhantomJS Process doesn't exit

我正在创建多个 PhantomJSDriver 实例,可以向网站发出请求并获取我想要的数据。每个实例都是通过以下方式产生的:

WebDriver driver = BrowserUtils.getInstance().getBrowser();

完成后,我尝试执行以下操作:

    driver.close();
    driver.quit();
    driver = null;

但是,如果我打开第二个终端并且 运行

myName@myBox:~/logs$ ps -e | grep phantom
 4472 pts/2    00:00:41 phantomjs
 4524 pts/2    00:00:32 phantomjs
 4787 pts/2    00:00:18 phantomjs
 4808 pts/2    00:00:19 phantomjs

他们只是坐在那里。他们永远不会消失。想法?

编辑 1:添加了更多代码以进行说明

WebDriver driver = BrowserUtils.getInstance().getBrowser();
        try {
            driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.MINUTES);
            driver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
            driver.get("https://my-web-site.com/");
            // Do lots of things
            } catch (Exception e) {
            logger.log(e);
        } finally {
            BrowserUtils.getInstance().reset();
            driver.close();
            driver.quit();
            driver = null;
        }

请检查您的代码是否存在退出、退出调用,甚至 on.error 捕获。补上遗漏的。

此外,如果没问题,请考虑以下错误 https://github.com/ariya/phantomjs/issues/10845 如果你有 nvidia 视频适配器(即使在 PhantomJS 1.9.8 中我也有这个问题) 如果您有 nvidia,请升级驱动程序,或者 select 只是您拥有的两个视频适配器之一,而不是自动 select。

祝你好运