python - 在浏览器上启动媒体然后退出

时间:2016-07-07 22:00:37

标签: python ubuntu epiphany

我有一个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)关闭?

感谢。

1 个答案:

答案 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

相关问题