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

python - launch media on browser then quit

我有一个 python cgi/html 需要 url 并在顿悟浏览器上启动。 但是,在 media/video 结束后,我需要浏览器终止。 在其他帖子中,似乎有办法使用 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) 关闭?

谢谢。

最简单的方法是使用 pkill。当您想要终止 epiphany 的一个实例时,Unix 系列操作系统中的一个浏览器,您可以使用类似的东西:

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