|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Chertischev 2:5020/400 27 Jun 2001 00:06:42 To : All Subject : Re: flock -------------------------------------------------------------------------------- Oleg Nevedomsky wrote: > Hi, dear /*All*/ ! > > Hаpод, не могу понять сабж толком. помогите плз. > вот я в скpипте откpыл файл что б добавит в него чегоньть. какой сабж я > должен делать ? что сделает скpипт тот же если дpугой юзеp запустит его в тот > же момент ? вообщем как сделать так что б наpод мог добавлять записи в одычный > текстовый файлик так, что б он не побился когда несколько чел сpазу добавляют. > # Открываем файл open(FH, ">>$file") || die "Can't open $file: $!"; # Получаем монопольный доступ к файлу. Если файл занят, то ждем-с. flock(FH, 2); # Делаем чё-нить с файлом print FH "че-нить"; # Снимаем блокировку flock(FH, 8); # Закрываем файл close FH; flock(FH, 2) блокирует файл. Если после блокировки кто-нить еще запустит этот скрипт, то flock будет ждать пока блокировка не снимется, а потом сам поставит блокировку. Так что не боись - файл не побьется. flock не работает под виндами. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1176319e27cfa.html, оценка из 5, голосов 10
|