[Cascavel-pm] saber se o arquivo está aberto
Fernando Oliveira
fernandocorrea em gmail.com
Quinta Agosto 30 16:26:43 PDT 2007
pq, ao invez de usar 2 comando, não usa só o ps -C nome_prog???
Em 30/08/07, Flavio Bei <flaviobei em gmail.com> escreveu:
>
> consegui uma solução assim, deu certo, mas to com dúvidas... será que
> o resultado será sempre preciso?
>
> o código ficou + - assim
>
> ##########################################
> #!/usr/bin/perl
> # sistema que vai buscar em um diretório um determinado arquivo
> # caso o arquivo não esteja em uso por nenhum processo ele é renomeado
> ##########################################
>
> use strict;
> my $caminho = "/home/user/pasta/";
> my $extensao = "*.txt";
> my $completo = $caminho.$extensao;
> my @encontrados;
> my $retorno;
> my $lista;
> my $teste;
>
> $lista = (`ls -1 $completo`);
>
> if ($lista ne '')
> {
> @encontrados = split('\n', $lista);
> }
>
> foreach $retorno (@encontrados) {
>
> $teste = (`ps xa |grep $retorno\$`);
>
> if ($teste eq '')
> {
> #processa o arquivo pois ele não está em uso por nenhum processo
> print ("=======>>> Altera o arquivo $retorno pois não está em
> uso\n");
> `mv $retorno $retorno.new`;
> }
> else
> {
> #não processa o arquivo pois ele está em uso por algum processo
> print ("========>!!!! Não altera o arquivo $retorno\n");
> }
> }
> ##############################################
> deu certo, e está rodando de boa, dai joguei na cron e ele fica
> verificando de tempos em tempos... mas não sei se é a sintaxe do ps,
> que tem hora que ele não mostra o processo sendo executado por outro
> usuário, tem hora que mostra normal...
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
--
[]'s Fernando
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070830/4f7b8603/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm