[Antique] icewm, icewmtray, xxkb startup (was: icewm patches)
Michael Shigorin
mike на osdn.org.ua
Пт Апр 1 12:32:08 UTC 2011
On Fri, Apr 01, 2011 at 03:52:58AM +0400, Anatoly Chernov wrote:
> >Думаю, там.
> Так сойдёт? (в прицепе)
Да, но можно лучше. :)
> while [ pidof icewmtray | grep [0-9] > /dev/null ]; do break; done;
Это получается бесконечный плотный цикл -- если icewmtray так и
не запустится (например, снесли пакет), то всё на этом закончится.
MAXDELAY=10
i=0
until pidof icewmtray >&/dev/null; do
sleep 1
let i=i+1
[ "$i" = "$MAXDELAY" ] && break
done
> sleep 1
А этого можно избежать вот так (суммарная продолжительность
спанья в цикле и добавочным sleep при одинаковом MAXDELAY
и прочих равных уменьшится на секунду, но при любом исходном
состоянии будет иметь место задержка минимум в одну секунду):
MAXDELAY=10
i=1
until [ "$i" = "$MAXDELAY" ]; do
sleep 1
i="$(($i+1))"
pidof icewmtray >&/dev/null && break
done
On Fri, Apr 01, 2011 at 04:07:54AM +0400, Владимир Гусев wrote:
> Или вообще вместо sleep=* использовать xtoolwait ?
Или так (с -timeout), если применимо.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Antique