分页: 1 / 1

【问题】zenity --progress的工作原理?

发表于 : 2008-09-25 10:25
cnkilior
可以用

代码: 全选

for ((i=0;i<=100;i++));do echo $i; sleep 1;done |zenity --progress --progress
使zenity显示程序进度。
似乎是zenity预先知道了i的范围进度条才按比例向前移动。不论i的范围多大都可以(不过偶尔会出错误)

如果把前面的角本换成功能一样c程序,并用tee多向重定向,可以偶尔观察到进度条完了,而程序没完。而且进度条是略晚于程序运行(不知是否错觉,当然zenity肯定和程序同时运行,但zenity显示进度条就不知道是不是立刻了)

----------------
于是我就想zenity --progress的工作原理是什么?


---------------
附一段shell进度脚本:

代码: 全选

sleep 100& while [ -e /proc/$! ];do echo -n '.';sleep 1;done