[Cascavel-pm] uso de flock

Luis Campos de Carvalho lechamps em terra.com.br
Sexta Julho 4 15:34:47 CDT 2003


Alceu R. de Freitas Jr. wrote:
> Olá gente,
> 
> Estou com uma dúvida quanto ao uso do flock.
> 
> Eu gostaria de proteger um arquivo texto com essa
> função à partir de um CGI. Por exemplo, enquanto uma
> pessoa estiver escrevendo nesse arquivo, ou não
> conseguirá até o bloqueio ser removido.
> 
> Eu faria mais ou menos assim:
> 
> open(FILE,">arquivo");
> flock FILE (modo);

   Pode parecer bobagem, mas você precisa executar o flock() antes de 
abrir o arquivo...

> Agora minhas dúvidas:
> 
> 1 - o sistema operacional respeita esse bloqueio? se
> um processo qualquer além do CGI tentar escrever nesse
> arquivo, o sistema operacional irá honrar o bloqueio?

   Não existe garantia de honrar o bloqueio por parte do S.O.
   Os processos que forem sobreescrever o artigo e não usarem flock() 
podem conseguir.

> 2 - eu não quero escrever diretamente no arquivo.
> Diríamos que quero simplesmente executar um comando do
> sistema que escreva algo nesse arquivo para mim, por
> exemplo:
> 
> system(echo 'teste' > arquivo);

   o "echo" e o $SHELL não respeitam flock().
   Cuidado.

   []'z!

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho
   Computer Scientist,
   Unix Sys Admin & Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




Mais detalhes sobre a lista de discussão Cascavel-pm