这种情况:我想从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)?
修改:在这种情况下可以使用ppid吗?
答案 0 :(得分: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