fredforum
(usa Red Hat)
Enviado em 02/08/2010 - 03:43h
Olá pessoal.
Eu uso windows, meu servidor é um redhat, acesso ele via ssh (putty).
Tenho um processo que as vezes dá crash, então criei um shellscript para abrir ele quando o mesmo fechar.
Tenho o seguinte script:
1 - rm PID_*
2 - ping
www.google.com.br -c 5 >PID_$$
3 - while true; do ./meu processo ; done
A linha 1 deleta todos os arquivo que tem o nome começanco com PID_
Isso é necessário pois não tem como eu fechar esse script com o comando killall, então eu gravo o ID do processo em um arquivo na LINHA 2 para poder fecha-lo com o comando kill quando necessário.
A linha dois da um ping de x segundos e cria um arquivo com o resultado desse ping, faço isso para salvar o PID como nome de um arquivo para caso eu precise fechar esse processo como falei acima.
Na linha 3 ele roda o processo infinitas vezes, porém só abre de novo quando ele encerrar já que não usei o & ao final do ./meuprocesso
O meu problema é o seguinte:
Eu executo esse meu script com o comando ./meuscript e ele roda normal.
Eu testei fazer um killall meuprocesso em outra janela do ssh para ver se ele abria novamente e abriu. PERFEITO. (até aqui)
O problema é que quando vou dar o comando exit para fechar o console do ssh ele não fecha, pois o script está em execução mesmo eu tendo colocado & ao final da chamada do script (./meuscript&)
Como eu arrumo isso?
Se alguém souber uma maneira melhor do que estou fazendo seria melhor ainda.
Ah... e quando eu dou o comando exit ele avisa isso:
exit
!done (press RETURN)
debian:/usr/share/man#
Já agredeço!