|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Valentin Davydov 2:5020/400 04 Jan 2002 14:29:31 To : Eugene Grosbein Subject : Re: race conditions и блокировки для /bin/sh --------------------------------------------------------------------------------
> From: Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org>
> Date: Fri, 04 Jan 2002 10:50:20 +0300
>
>По крону выполняется скрипт. Hужно гарантировать, что вторая копия
>не запустится, если уже есть одна. В самом Bourne shell похоже, ничего
>для этого нету. В FreeBSD (где это крутится) есть lockf(1), но он неудобен,
>потому что приходится либо основной код выносить в отдельный скрипт,
>либо писать нечто вроде
>
>lockf $lockfile sh -c "
>
>"
>
>Hо тогда я теряю возможность использовать " в тексте скрипта.
>Есть нормальное решение?
Дык, того, используй атомарные файловые операции, например, mkdir.
Типа,
set -e
mkdir $TMPDIR/thisscriptowndirectory
..
rmdir $TMPDIR/thisscriptowndirectory
Только не забудь при загрузке (после краха, например) чистить лок.
Вал. Дав.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/65776a7ccba2.html, оценка из 5, голосов 10
|