Shell para abrir aplicativo quando ele fechar!

1. Shell para abrir aplicativo quando ele fechar!

acassio rodrguies da silva
acassiolink

(usa Outra)

Enviado em 14/02/2010 - 19:28h

Boa tarde a todos !

Ja quero adiantar meu obrigado a todos,se puderem me ajudar seria de uma eterna gratidão!

Bom tenho um servidor rodando Ubuntu 9.10 Server,Meu conhecimento em linux é medio ~ baixo
Vamos la!

Nele eu tenho um aplicativo,na verdade um .sh,que roda o banco de dados de um jogo,
Enfim essa droga desculpem o nivel,fecha sozinho por X motivos,isso varia,as vezes demora 1 dia e ele fica rodando,outras vezes demora 6 horas e ele aguenta firme,
Bom eu queria tipo que um "bat",no caso em shell,que tipo monitora-se ele,algo assim,para quando ele fechase,a shell abrise ele novamente,Ja vi isso no windows mais não sei fazer isto em linux,nome do .sh do DB é gamedb.sh,ele roda no processo #21,aqui vai ele se alquem precisar

-------------------------------
#!/bin/sh

PW_PATH=/root/PWServer

cd /root/PWServer

if [ ! -d $PW_PATH/logs ]; then
mkdir $PW_PATH/logs
fi


echo "=== GAMEDBD ==="
cd $PW_PATH/gamedbd; ./gamedbd gamesys.conf >$PW_PATH/logs/gamedbd.log &
sleep 5
echo "=== DONE! ==="
echo ""
-------------------------------

Grato a todos! Conto com voces


  


2. Re: Shell para abrir aplicativo quando ele fechar!

Jefferson Diego
Diede

(usa Debian)

Enviado em 14/02/2010 - 19:54h

Por onde este "gamedb.sh" é chamado? rc.local?
Digamos que ele fique em /usr/bin/gamedb.sh:

Coloque um loop infinito de execuções para ele:

while true; do /usr/bin/gamedb.sh ; done
(respeitando as PATHs)


3. Re: Shell para abrir aplicativo quando ele fechar!

acassio rodrguies da silva
acassiolink

(usa Outra)

Enviado em 14/02/2010 - 20:05h

ele esta em /root/PWServer/gamedb/

Mais se eu colocar um loop ele não vai ficar executando um atras do outro ?


4. Re: Shell para abrir aplicativo quando ele fechar!

Jefferson Diego
Diede

(usa Debian)

Enviado em 14/02/2010 - 20:42h

Não... ele só executa o segundo quando o primeiro fecha, e segue infinitamente...


5. Re: Shell para abrir aplicativo quando ele fechar!

acassio rodrguies da silva
acassiolink

(usa Outra)

Enviado em 14/02/2010 - 20:46h

fiz o teste e ele ficou rodando um gamedb.sh atras do outro


6. Re: Shell para abrir aplicativo quando ele fechar!

Jefferson Diego
Diede

(usa Debian)

Enviado em 14/02/2010 - 21:00h

Ok, é por causa do "&" nessa linha aqui:
./gamedbd gamesys.conf >$PW_PATH/logs/gamedbd.log &

Edite o arquivo para apagar o "&" nessa linha...

PS: Esse gamedb.sh é chamado na inicialização, ou você tem que abrí-lo manualmente?



EDIT:
Ou, edite o gamedb.sh para ficar assim:


#!/bin/sh

PW_PATH=/root/PWServer

cd /root/PWServer

if [ ! -d $PW_PATH/logs ]; then
mkdir $PW_PATH/logs
fi


echo "=== GAMEDBD ==="
cd $PW_PATH/gamedbd;
while true; do ./gamedbd gamesys.conf >$PW_PATH/logs/gamedbd.log; done
sleep 5
echo "=== DONE! ==="
echo ""



7. Re: Shell para abrir aplicativo quando ele fechar!

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 15/02/2010 - 21:00h

Outra alternativa é entender pq q o seu X reinicia. Poste a saída do arquivo /var/log/Xorg.0.log assim q o servidor X der o "crash".






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts