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

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

Re: [shell-script] Como esperar uma janela Lenta


From: Alain
Subject: Re: [shell-script] Como esperar uma janela Lenta
Date: Fri, 09 Sep 2005 15:23:37 -0300
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Finalmente encontrei uma solução acho que pode interessar:

kompare arquivo.diff &
PID=#!
while [ $(ps o stat --pid $PID --no-headers) != "S" ]; do
  sleep 0.2
done

grato pelas ajudas...
Alain

Alain escreveu:
Oi MrBiTs,

Obrigado pela explicação, mas no 3) se usar (wait $PID), ele para e espera até eu fechar a janela. A intenção da minha pergunta era:

Como eu espero até o status ficar "S" testando a cada 250ms?

Ah! alguem me sugeriu para o 2) de usar (usando um n. de pid exemplo)
     ps o stat --pid 2970 --no-headers
que já retorna "S", será que também funciona no Slack?

grato,
Alain

MrBiTs escreveu:

1) como saber o PID de um comando iniciado com &
PID=$!

2) como descobrir que está em sleep Depende muito da versão do comando, do tipo de Unix que você está trabalhando. Em um Linux Slackware 10.1, top versão 3.2.5, um comando similar a $ top -b | grep processo
nos devolveria algo como:
25925 root 15 0 1356 1356 1008 S 0.0 0.2 0:00 processo

E o 8o campo nos dá o status do processo. Se for S, está em sleep. Você poderia fazer algo como
STATUS=$(top -b -n 1 | grep $PID | awk '{print $8}')
if [ $STATUS -eq "S" ] ; then
  echo "Processo $PID dormindo"
fi

Usei grep $PID e não grep processo para termos certeza de que conseguimos o 
status do processo que queremos.

3) como esperar?
wait $PID



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos










reply via email to

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