如何从命令行优雅地杀死firefox

时间:2012-12-19 21:42:23

标签: java firefox ubuntu automation

我正在编写一个需要打开URL列表的程序。我在Ubuntu12.04上有firefox,每次我杀了firefox并重新打开它,会有一条消息询问我是否要恢复以前的会话,这很烦人。

我使用

调用firefox(在Java中)
Runtime r= Runtime.getRuntime();
r.exec("firefox -new-instance www.google.com");

并使用

将其杀死
r.exec("killall firefox");

有没有办法更优雅地杀死并重新打开Firefox?我希望程序自动运行,不需要任何弹出消息或人工干预。 非常感谢!

3 个答案:

答案 0 :(得分:1)

我认为你无法从Java中优雅地杀死Firefox,但是你可以改变你的firefox设置,这样它每次重新打开时都不会问你。

请参阅可为您提供帮助的链接Firefox Restore Options

答案 1 :(得分:1)

使用WebDriver加载并停止Firefox。您可以使用单独的配置文件获取单独的Firefox实例。系统不会要求您恢复会话。

FirefoxProfile fp = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(fp);
driver.get(url);

然后关闭浏览器和任何子窗口:

driver.quit();

答案 2 :(得分:0)

不是直接启动firefox,而是启动一个在后台启动firefox的shell脚本,然后在标准输出上打印firefox进程的PID。

然后,您可以通过Process

返回的Runtime.exec()对象读回PID