ПРОЕКТЫ 


  АРХИВ 


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]

Re: [apache-talk] Как скопировать файл?



On Tue, Jan 26, 1999 at 09:48:36PM +0300, Khimenko Victor wrote:
> >> AG> hehe. joke. what if this file is open by httpd right now ?
> >>
> >> Hm. And really: "what if this file is open by httpd right now?". How will 
>it
> >> affect makeindex or mv ??? I'm really puzzled -- it's perfectly legal to
> >> remove opened file in *nix (it's not braindead Windows but real OS after 
>all!).
> >> Real removing will be posponed of course but `mv -f` should work just fine 
>!
> >> Or I'm misunderstood something ?
> 
> AS> misunderstood, разумеется. Если у тебя бинарь, обратно на диск частично
                                             ^^^^^^

i.e. страница _кода_ сброшена из vm'а. Причем не в swap, а просто 
сброшена, потому что ее всегда можно поднять из этого файла. 
А если этот файл можно стереть (совсем стереть, так что эту страницу
поднимать больше неоткуда) - то оппаньки, какой-нибудь процесс на поднятии
куска _своего же_ кода получит SIGSEGV :) 

> AS> высвопленный/выпейдженный, то имеешь шанс нарваться на file is busy.
> AS> C файлами, которые подмаплены как read(и|или)write, как в данном
> AS> случае, такого быть не может.
> 
> Ерунда все это -- куда там что высвоплено/выпейджено есть личное дело ядра и
> никого это не касается (конечно обычно есть способы понять -- что, куда и
> как :-). Стереть файл (не подкаталог!) можно всегда (если прав доступа хватит,
> конечно :-) Как бы иначе можно было upgrade'ить bash, rpm, init и иже с ними ?

Командой install :) 

rename(2)
unlink(2)
open(...,O_CREAT|...,...)(2)
- вот такой последовательностью... 

-- 
Alexander Snarskii
the source code is included.
=============================================================================
=               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.