[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:[shell-script] capturar processo
From: |
alexmrgc |
Subject: |
Re:[shell-script] capturar processo |
Date: |
Sat, 15 Jan 2005 17:34:11 -0000 |
User-agent: |
eGroups-EW/0.82 |
beleza. Quanto aos bg, fg, jobs e etc.
mas vamos ao problema real. Eu tenho um servidor zope, e quando eu
inicio ele no modo debug ele retem a saída do terminal e exibe
mensagens de acordo com o que acontece com ele. Esse servidor é
lançado na inicialização, portanto eu não tenho mais acesso
ao
terminal em que aparecem as mensagens.
Se eu quiser ver as mensagens, eu tenho que dar shutdown no server e
reinicializá-lo em um terminal aberto por mim.
talvez a minha pergunta ficasse melhor formulada dessa maneira:
como eu posso ver as mensagens de um processo qualquer, que não foi
iniciado explicitamente por mim, e sim na inicialização (creio que
por
init)??
alexandre :?)
--- Em address@hidden, "MrBiTs" <mrbits@t...>
escreveu
> > estou com uma dúvida na cabeça. É
> > possível capturar a saída de um
> > processo qualquer e redirecioná-la
> > para saída padrão???? Por exemplo, o
> > meu webserver é carregado na
> > inicialização, e eu gostaria de abrir
> > um terminal, descobrir o pid dele e
> > então redirecionar a saída para a tela.
>
> Por definicao, toda a saida de um processo qualquer é direcionada
para a saida padrao. "Descobrir" PID nao é direcionar mensagem para
saida padrao.
>
> Novamente por definicao, o seu webserver gera um arquivo .pid. No
caso de um webserver apache, voce pode simplesmente fazer algo como:
>
> cat `find / -name "httpd.pid"` e o Proccess Id será mostrado na
saida padrao. Isso pode ser feito a qualquer momento se o apache
estiver rodando.
>
> Outra maneira é utilizar a variavel especial $!, que contem o
PID da
execucao do ultimo comando. Se vc faz, por exemplo
>
> ./processa_algo.sh &
>
> voce vai jogar o script processa_algo.sh para bg e terá a
variavel
$! com o PID de processa_algo.sh. Entao, fazendo echo $!, teremos esse
valor. Fazendo echo $! novamente, teremos um valor diferente, pois
essa variavel é sobrescrita a cada execucao de comando. Para
armazena-la em outra variavel, faca algo como MY_PID=$!.
>
>
> [As partes desta mensagem que não continham texto foram
removidas]