我有一个python cgi / html,它采用url并在顿悟浏览器上启动。 但是,媒体/视频结束后,我需要浏览器终止。 在其他帖子上,似乎有办法用vlc-media和其他玩家做到这一点。但我还没找到一个浏览器。
命令的基本框架如下所示:
msg = form.getvalue("msg", "(no msg)")
.......
## in-progress of msg = "sudo -u vnc " + msg + " "
.......
from subprocess import *
print Popen(msg, shell=True, stdin=PIPE, stdout=PIPE).communicate()[0]
如何实现在流式传输(youtube,cnn等)完成后执行的命令(url)关闭?
感谢。
答案 0 :(得分:-1)
最简单的方法是使用pkill
。当您正在寻找杀死Unix系列操作系统中的浏览器epiphany
的实例时,您可以使用以下内容:
import os
os.system("pkill epiphany-browser")
如果您的可执行文件被命名为epiphany-browser
之外的其他内容,则更改pkill
命令的第二部分以匹配。
另外请记住,这会以该名称终止所有进程。要杀掉最新的,你可以做类似的事情:
import os
os.system("pkill -n epiphany-browser")
如果您想要非常聪明,可以在启动后尝试绘制实际流程编号:
import os
# launch stuff...
epiphanyPID=os.system("pgrep -n epiphany-browser")[2]
# do other stuff...
os.system("kill -9 " + epiphanyPID)
此外,您应该使用webbrowser
对象,而不是使用Popen
打开。据我所知,它在文档中缺少close
,但对于开放会话,它是首选解决方案。 Epiphany
对象支持Galeon
:
20.1. webbrowser — Convenient Web-browser controller