python - 在我们连接之前,浏览器似乎已经退出。输出为 : mkdir: cannot create directory

标签 python linux xvfb pyvirtualdisplay

我有一个成功运行的 python 脚本。 .py 脚本将打开 headless 浏览器 (pyvirtualdisplay & xvfb) 并执行任务,然后关闭浏览器。脚本运行后 xvfb 进程保持打开状态时遇到问题。运行多次后,它们往往会累积。我会定期通过 ssh shell 运行 killall 命令来终止停滞的 xvfb 进程。这似乎没有造成任何问题。最近我试图通过设置一个执行以下命令的 cron 作业来自动执行该任务。
ps -eo pid,etime,comm | egrep '^ *[0-9]+ +([0-9]+-[^ ]*|[0-9]{2}:[0-9]{2}:[0-9]{2} )' | grep Xvfb | awk '{print $1}' | xargs kill -9
这个命令只会杀死旧的 Xvfb 进程。我假设2小时大? 由于我运行了这个命令,所以我无法运行 .py 脚本,并且收到以下错误:

<class 'selenium.common.exceptions.WebDriverException'>: Message: "The browser appears to have exited before we could connect. The output was: mkdir: cannot create directory `/.mozilla': Permission denied\nError: cannot open display: :9866\n" [83] => 
      args = [84] => () [85] => 
      message = [86] => '' [87] => 
      msg = [88] => 'The browser appears to have exited before we cou...mission denied\nError: cannot open display: :9866\n' [89] => 
      screen = [90] => None [91] => 
      stacktrace = [92] => None [93] => [94] => [95] => [113] => ) 

最佳答案

使用以下两个命令清除 Linux 缓存以解决问题:
通过putty ssh shell进入。
/usr/sbin/tmpwatch 1/tmp

/usr/sbin/tmpwatch 1/var/tmp

关于python - 在我们连接之前,浏览器似乎已经退出。输出为 : mkdir: cannot create directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583362/

相关文章:

c++ - 记事本显示 Unicode 字符,因为文件是 ANSI?

将纪元时间字符串转换为时间

linux - 如果涉及 MAP_FIXED,无限堆栈不能超过初始的 132KiB?

linux - 无法使用 Xvfb 在 Electron 中呈现 WebGL

python - 通过计算在 n 球面上选取一个随机点

python - 在 Mac 上安装 rpy 或 rpy2

ruby - "Bad request"在 CentOS、Firefox 和 Xvfb 下创建新 session

ruby-on-rails-3 - 将 watir 与 headless 结合使用时,Windows 上出现 Xvfb 错误

python - 在 tkinter 中离开消息框后按下按钮

python - 具有元素作为其他对象索引的 Numpy 数组