1

我通过 SSH 在 Linux 服务器上运行 Java 中的 Selenium webscraper,但浏览器在会话终止时崩溃,尽管有各种尝试指示程序在后台运行。具体来说,我使用了screen, tmux, nohup, disown, 和setsid(如这里https://www.tecmint.com/keep-remote-ssh-sessions-running-after-disconnection/),结果相似,但效果不佳。我想尝试一个 VNC 会话,但目前尚未在服务器上启用。

例如screen

  1. 我键入screen,运行程序,并产生正常输出
  2. 我用 分离屏幕Ctrl+a+d,继续产生正常输出
  3. 我结束了 SSH 会话。输出停止并且(在重新登录并返回屏幕会话后),我收到错误消息
Exiting due to channel error
Exiting due to channel error
Exiting due to channel error
Exiting due to channel error
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to decode response from marionette

我已经尝试了几次,所以它在结束 SSH 会话的确切时间崩溃并不是巧合。可能出了什么问题,我该如何尝试诊断问题?

系统信息:

OS: Red Hat Enterprise Linux, Linux 3.10.0-1127.10.1.el7.x86_64
Java: 1.8.0_252
Firefox version: Mozilla Firefox 78.3.1esr
Firefox boot options: "--marionette" "-headless" "-foreground" "-no-remote" "-profile"
Gecko driver version: 0.27.0
Selenium version: 3.141.59m revision e82be7d358
SSH client: MobaXTerm, personal version 10.4
4

1 回答 1

0

通过纯粹的愚蠢试验和错误运气,我尝试将 MobaXTerm 换成 PuTTY(继续使用screen),问题就消失了。我不知道为什么会这样。宇宙是一个复杂的地方,超越了人类的理解。

于 2020-10-23T09:01:45.560 回答