假设我们有一个bash脚本bash.sh
和一个python脚本python.py
。 python脚本无法修改。 (说,上游)
bash.sh
是一个创建gui的zenity包装器脚本。 python.py
最后在某处调用wget
。
在bash.sh
已调用python.py
并显示zenity进度条,如下所示
./python.py | zenity --progress --pulsate --auto-close
所以来电是:bash.sh
=> python.py
=> wget
如果我点击"取消"在wget下载开始之前,它被取消并且python.py
脚本退出,如下所示:
Traceback (most recent call last):
File "python.py", line 41, in <module>
print(s.encode('utf-8')) IOError: [Errno 32] Broken pipe
但是如果wget下载开始,请点击&#34;取消&#34;什么都不做。进度对话框保持打开状态,不关闭任何内容。
我应该怎么做,以便取消&#34;取消&#34;按钮停止wget下载?
答案 0 :(得分:0)
我刚刚发布了一篇文章,解释了在取消zenity进度对话框时如何真正杀死所有子进程。
可在http://bernaerts.dyndns.org/linux/331-linux-cancel-zenity-progress-dialog-right-way
获取它应该为您提供解决此问题的简单解决方案。
干杯。