[devel] shell programming
Alexey Tourbin
at на altlinux.ru
Пт Янв 21 10:56:06 UTC 2011
On Fri, Jan 21, 2011 at 01:29:38PM +0300, Sergei Epiphanov wrote:
> Может, так лучше?
>
> finished=
>
> func() {
> <что-то>
> finished=1
> }
>
> func &
Нет. :)
Функция func теперь будет выполняться в родительском процессе (subshell),
$! - это номер процесса, который вернул fork(2). Переменные между
процессами не разделяются.
> for 1 2 3 4 5; do
> sleep 1
> if [ -n "$finished" ]; then
> wait
> break
> fi
> done
>
> if [ -z "$finished" ]; then
> echo killing func >&2
> kill $!
> wait
> fi
Подробная информация о списке рассылки Devel