ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] =?koi8-r?Q?Re=3A_=5Bapache-talk=5D_=EB=C1=CB_=D3=CB=CF=D0=C9=D2=CF?==?koi8-r?Q?=D7=C1=D4=D8_=C6=C1=CA=CC=3F?=



On Tue, 26 Jan 1999, Konstantin Tokar wrote:

> From: Konstantin Tokar <tokar@apmsun.mpei.ac.ru>
> Subject: [apache-talk] Как скопировать файл?
> X-Mailer: Mozilla 4.5 [en] (WinNT; I)
> 
> Мне хочется собирать index.html файл из разных запросов к базе данных. 
>Вопрос - как его скопировать на место старого index.html, чтобы текущие
> запросы к нему не испортились?
То есть тебе хочется переодически перезаписывать html на диске, при этом
ожидается, что он кем-то (несколькими копиями апача) открыт?

Это зависит от системы. В нормальной OS это делается следующим образом

open F,">index.html.tmp$$";
# пишем в index.html.tmp$$
close F
unlink "index.html" && rename "index.html.tmp$$","index.html"

Ведет это себя следующим образом - при удалении записи в каталоге (unlink)
файл остается жить до тех пор, пока хотя бы один процесс держит на него
filehandle.

Операции unlink и rename в делаются весьма быстро, поэтому шанс, что
кто-то успеет в промежутке между ними обратиться к файлу, близок к 0.

В ненормальной (читай M$) системе - не знаю. Там по-моему операция unlink
на открытый файл просто обламывается.



> -- 
> Konstantin Tokar, http://www.mpei.ac.ru/tokar/
> =============================================================================
> =               Apache-Talk@lists.lexa.ru mailing list                      =
> Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
> =       Archive avaliable at http://www.lexa.ru/apache-talk                 =
> 

--------------------------------------------------
Victor Wagner                   vitus@ice.ru
Programmer                      Office:7-(095)-964-0380
Institute for Commerce          Home: 7-(095)-135-46-61
Engineering                     http://www.ice.ru/~vitus

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.