1

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

谢谢。

4

1 回答 1

-1

最简单的方法是使用pkill. 当您要杀死epiphanyUnix 系列操作系统中的浏览器的实例时,您可以使用以下内容:

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 — 方便的 Web 浏览器控制器

于 2016-07-07T22:25:49.097 回答