shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Ajuda quanto ao uso do ps <arg> | grep [arg]


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Ajuda quanto ao uso do ps <arg> | grep [arg]
Date: Tue, 6 May 2008 10:58:53 -0300

Ola

vc pode utilizar bordas
$ ps aux | grep -E '\b58\b'

o problema é que se tiver um 58 dando bobeira (ex 00:00:58) vai trazer
esse cara.

uma solução:
$ ps -ef | awk '$2 == 2469 { print }'  ou

$ ps -ef | awk -v PID_A_PROCURAR=2469 '$2 == PID_A_PROCURAR'

[]'s

2008/5/6 Sergio <address@hidden>:
>
>
>
>
>
>
> Pessoal, olá a todos.
>
>  Segue parte do script que tenho e que falha, não por sintax, mas sim
>  por eficiencia e exatidão no kill do processo.
>
>  ######################################################################
>  ARQ=$(ls UNIAO_GeraExpFull_Un01*) #DIRETORIO DE LOCK
>  Definindo procedimentos para Abortar o script"
>  LOG + "Analisando o Arquivo: ${ARQ}"
>  wd_PID=`echo ${ARQ} | awk -F. '{print $3}'`
>  LOG + "PID do Arquivo ${ARQ} e ${wd_PID}" 1
>  wd_PROCESSO=`ps -ef | grep ${wd_PID} | grep -v grep | wc -l`
>  LOG 2 "Finalizando os processos em ordem inversa, dos processos
>  FILHOS ate chegar no processo PAI"
>  for MATA_PROCESSO in $(ps -ef | grep ${wd_PID} | grep -v grep | awk -
>  F" " '{print $2}' | sort -r)
>  do
>  gABORT="S"
>  kill -15 ${MATA_PROCESSO}
>  gABORT="N"
>  LOG + "Processo: ${MATA_PROCESSO} Encerrado"
>  done
>
>  ######################################################################
>  O que ocorre de errado de vez em quando é que ao capturar com ps -ef
>  para popular a variavel wd_PROCESSO, ele pega outros pids que nao tem
>  nada a ver com o processo em questao. Por exemplo, se o pid do
>  processo for 58, com o comando em questão, alem do 58 ele pega o
>  1058.
>  Dai, ao tentar matar o processo na parte onde tem o for
>  MATA_PROCESSO, ele falha... (ainda bem que falha) pois estaria
>  tentando matar um processo que nao tem nada a ver...
>
>  A pergunta é : como restringir de forma que o pid capturado pelo ps -
>  ef | grep seja mesmo o 58 e nao 1058 ?
>
>  Tentei restringir , fazendo com os os pids retornados seja os que o
>  usuario que executou o script executou, de forma que os pids seria
>  pelo menos os do usuario que executa o script, mas mesmo assim fica
>  falho o script. (ps -fu user).
>
>  Creio que seja uma coisa bem simples...
>
>  Valeu...
>
>  SDS
>
>  Sergio
>
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"


reply via email to

[Prev in Thread] Current Thread [Next in Thread]