【问题】zenity --progress的工作原理?
发表于 : 2008-09-25 10:25
可以用
使zenity显示程序进度。
似乎是zenity预先知道了i的范围进度条才按比例向前移动。不论i的范围多大都可以(不过偶尔会出错误)
如果把前面的角本换成功能一样c程序,并用tee多向重定向,可以偶尔观察到进度条完了,而程序没完。而且进度条是略晚于程序运行(不知是否错觉,当然zenity肯定和程序同时运行,但zenity显示进度条就不知道是不是立刻了)
----------------
于是我就想zenity --progress的工作原理是什么?
---------------
附一段shell进度脚本:
代码: 全选
for ((i=0;i<=100;i++));do echo $i; sleep 1;done |zenity --progress --progress
似乎是zenity预先知道了i的范围进度条才按比例向前移动。不论i的范围多大都可以(不过偶尔会出错误)
如果把前面的角本换成功能一样c程序,并用tee多向重定向,可以偶尔观察到进度条完了,而程序没完。而且进度条是略晚于程序运行(不知是否错觉,当然zenity肯定和程序同时运行,但zenity显示进度条就不知道是不是立刻了)
----------------
于是我就想zenity --progress的工作原理是什么?
---------------
附一段shell进度脚本:
代码: 全选
sleep 100& while [ -e /proc/$! ];do echo -n '.';sleep 1;done