1

bash スクリプトbash.shと python スクリプトがあるとしますpython.py。Python スクリプトは変更できません。(言う、上流)

bash.shGUIを作成する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 のダウンロードが開始された場合、[キャンセル] をクリックしても何も起こりません。進行状況ダイアログは開いたままになり、何も閉じられません。

「キャンセル」ボタンでwgetのダウンロードを停止するにはどうすればよいですか?

4

1 に答える 1

0

Zenity の進行状況ダイアログをキャンセルしたときにすべての子プロセスを実際に強制終了する方法を説明する記事を公開しました。

http://bernaerts.dyndns.org/linux/331-linux-cancel-zenity-progress-dialog-right-wayで入手できます。

この問題を解決するための簡単な解決策を提供する必要があります。

乾杯。

于 2015-01-30T22:22:17.607 に答える