Selenium Server在使用SIGTERM处理后不会绑定到套接字

被杀一次后,selenium服务器挂在所有进一步的创业,甚至没有试图获得服务器端口。

重新启动解决了这个问题。 以不同的用户身份运行,selenium也会重新启动,但在进程被终止后将无法再运行。

这是在VirtualBox虚拟机中的Linux 2.6.32-5-amd64(debian squeeze)上。 查看系统调用的日志,当它调用的时候,一些组件似乎在套接字被绑定之前locking。 selenium日志不是很有帮助。

输出也没有给出任何指示:

$ java -jar selenium-server-standalone-2.28.0.jar Dec 27, 2012 5:41:35 PM org.openqa.grid.selenium.GridLauncher main INFO: Launching a standalone server 17:41:35.703 INFO - Java: Sun Microsystems Inc. 14.0-b16 17:41:35.704 INFO - OS: Linux 2.6.32-5-amd64 amd64 17:41:35.737 INFO - v2.28.0, with Core v2.28.0. Built from revision 18309 17:41:35.867 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 17:41:35.868 INFO - Version Jetty/5.1.x 17:41:35.868 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 17:41:35.869 INFO - Started HttpContext[/selenium-server,/selenium-server] 17:41:35.869 INFO - Started HttpContext[/,/] 

这是一个Java问题; 它的RNG不必要地从/dev/random读取。 在虚拟机上,随机池是有限的,经常在一两次运行后耗尽。 出于某种原因,硒/ Jetty启动的一部分要求有问题的RNG。 要解决这个问题, 建议Java使用/dev/urandom来代替 :

 java -Djava.security.egd=file:/dev/./urandom \ -jar selenium-server-standalone-2.28.0.jar 

工作正常。