2012-09-03 48 views
0

情况是这样的:我想从Python代码打开一个浏览器窗口,在以下任一(便携性不是问题ATM):如何查看主流网页浏览器的退出情况?

subprocess.call(['xdg-open', 'file:///someFileIGenerated.html']) 
... # or 
pid = subprocess.Popen(...) 
... # or (from the webbrowser package) 
webbrowser.open(...) 

我遗憾的是不只是检查是否PID我创建的还是活着的,因为大多数浏览器(Firefox,Chrome)都会立即退出创建过程并按需要产生更多(即每个标签一个)。

什么是最负责任的(不杀死其他浏览器窗口)和可移植的(至少在Linux下使用firefox和chrome)达到这个目的?

编辑:在这种情况下可以使用ppids吗?

回答

0

你可以“ping”firefox进程。有一部分我的open_url shell脚本下面我希望你觉得它有用

OUTPUT=`firefox -remote "ping()" 2>&1 | grep No` 
if [[ "${OUTPUT}" == "Error: No running window found" ]]; then 
    # firefox is not running 
else 
    # firefox still running; 
fi 
+0

这将检查任何Firefox窗口,对不对?因此,如果用户在我的代码生成新窗口之前打开Firefox,我无法检测他是否仅关闭了我的窗口。我明白你的意思,但是这需要我在创建我的窗口之前和之后运行pids之间的设置差异。不是很舒服或安全。 – ThePadawan

相关问题