0
我正在尝试使用python编写一个下载程序脚本(放在统一启动程序中),它使用所有正确的参数调用wget。该脚本从剪贴板中提取url,并从gtk主剪贴板中提取文件名,通过文本选择或复制和鼠标中键单击粘贴。代码很简单。Python:阻止系统进程从后台进入
import gtk
from os import system as sys
url = str(gtk.clipboard_get().wait_for_text())
name = str(gtk.clipboard_get(gtk.gdk.SELECTION_PRIMARY).wait_for_text())
if name.lower()=='none' :
sys("/usr/bin/canberra-gtk-play --id='dialog-warning'")
exit(1)
sys("/usr/bin/canberra-gtk-play --id='downloading'")
com='wget -c -t 0 "%s" -O "%s"' % (url,name)
sys("gnome-terminal -e '%s'" % com)
该脚本打开一个终端窗口并点击wget输出。问题是关闭gnome-terminal并不会导致wget退出,而是在后台运行。是否有可能阻止这种情况发生
我该怎么做。你可以用一个例子来展示,我将把它合并到代码中 – CuriousCat 2013-05-04 06:01:31
@SaketDandawate如果你对信号不熟悉,用像[this]这样的脚本运行'wget'可能会更简单(https://gist.github .com/unakatsuo/1048855)用'hup2term wget',它将父进程的SIGHUP转换为SIGTERM,或者用CTRL-C关闭窗口(发送'SIGINT'到'wget')关闭终端窗口。 –
Aya
2013-05-04 15:42:13