<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Eu não sabia deste pc -C <nome_prog>, mas aqui funcionou.<br>
Em todo caso, se tu quiser mesmo utilizar o esquema com o grep, eu
recomendo tu mudar para algo assim:<br>
<b>$teste = (`ps xa | grep $retorno\$ | grep -v grep`);</b><br>
<br>
Isso é para evitar que o próprio comando "ps xa | grep" gere um
"falso-positivo".<br>
<br>
<br>
SDS,<br>
<br>
Luciano<br>
<br>
<br>
<br>
Fernando Oliveira escreveu:
<blockquote
cite="midf40026c0708301626u10875521sdedf7fd6b5ac16b4@mail.gmail.com"
type="cite">pq, ao invez de usar 2 comando, não usa só o ps -C
nome_prog???<br>
<br>
<div><span class="gmail_quote">Em 30/08/07, <b
class="gmail_sendername">Flavio Bei</b> <<a
href="mailto:flaviobei@gmail.com">flaviobei@gmail.com</a>
> escreveu:</span>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">consegui
uma solução assim, deu certo, mas to com dúvidas... será que<br>
o resultado será sempre preciso?<br>
<br>
o código ficou + - assim<br>
<br>
##########################################<br>
#!/usr/bin/perl<br>
# sistema que vai buscar em um diretório um determinado arquivo<br>
# caso o arquivo não esteja em uso por nenhum processo ele é renomeado
<br>
##########################################<br>
<br>
use strict;<br>
my $caminho = "/home/user/pasta/";<br>
my $extensao = "*.txt";<br>
my $completo = $caminho.$extensao;<br>
my @encontrados;<br>
my $retorno;
<br>
my $lista;<br>
my $teste;<br>
<br>
$lista = (`ls -1 $completo`);<br>
<br>
if ($lista ne '')<br>
{<br>
@encontrados = split('\n', $lista);<br>
}<br>
<br>
foreach $retorno (@encontrados) {<br>
<br>
$teste = (`ps xa |grep $retorno\$`);
<br>
<br>
if ($teste eq '')<br>
{<br>
#processa o arquivo pois ele não está em uso por nenhum processo<br>
print ("=======>>> Altera o arquivo $retorno pois não
está em uso\n");
<br>
`mv $retorno $retorno.new`;<br>
}<br>
else<br>
{<br>
#não processa o arquivo pois ele está em uso por algum processo<br>
print ("========>!!!! Não altera o arquivo $retorno\n");
<br>
}<br>
}<br>
##############################################<br>
deu certo, e está rodando de boa, dai joguei na cron e ele fica<br>
verificando de tempos em tempos... mas não sei se é a sintaxe do ps,<br>
que tem hora que ele não mostra o processo sendo executado por outro
<br>
usuário, tem hora que mostra normal...<br>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
[]'s Fernando
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Cascavel-pm mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a>
<a class="moz-txt-link-freetext" href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a></pre>
</blockquote>
</body>
</html>