Я запускаю веб-приложение под Tomcat 7, Ubuntu 14.04, которое запускает экземпляр Firefox (в настоящее время версия 29) с использованием драйвера Java Selenium для создания снимков экрана простых локально определенных веб-страниц.
Иногда Firefox не отвечает. Когда это происходит, появляется "несуществующий" экземпляр Firefox, указанный ps
как это:
$ ps -elfwww | grep irefox
0 S tomcat7 18004 17574 0 80 0 - 100490 futex_ 05:31 ? 00:00:01 /usr/lib/firefox/firefox -silent
1 Z tomcat7 18010 18004 0 80 0 - 0 exit 05:31 ? 00:00:00 [firefox] <defunct>
Когда Firefox запущен и работает правильно, это выглядит примерно так:
$ ps -elfwww | grep irefox
0 R tomcat7 19542 17574 38 80 0 - 156275 ? 09:38 ? 00:00:08 /usr/lib/firefox/firefox -foreground
Меня сбивают с толку разные параметры командной строки, передаваемые Firefox в этих двух случаях. Почему "-тихий" против "-передний план"? Что можно сделать, чтобы этого не произошло?
Я не вижу сообщений о селене, напечатанных в журнале ошибок приложения.
Похоже, это обычная проблема (у меня тоже была) с последними версиями Firefox (17+; люди говорят, что он работает с Firefox 17.0, но я не пробовал) И тот факт, что вы создаете новый экземпляр браузера для каждую веб-страницу, которую вы собираетесь загрузить.
То, что я сделал, а также то, что кажется общей логикой, - это создать просто экземпляр Firefox, загрузить с ним все ваши веб-страницы и в конце закрыть браузер.