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

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

Re: [shell-script] erro do script de menu


From: Rafael Henrique da Silva Correia
Subject: Re: [shell-script] erro do script de menu
Date: Thu, 21 Feb 2013 11:03:50 -0300

Bom dia Alex,

Os scripts estão abrindo um "fork" do shell atual e rodando, quando o shell
"pai" é fechado todos os filhos morrem.

Exemplo:

# pstree -p

init(1)-+-/usr/bin/termin(17288)-+-bash(17296)---kdevelop(18444)-+-kdevelop(18492)
.................................................................|-kdevelop(18493)
.................................................................|-kdevelop(18494)
.................................................................|-kdevelop(18495)
.................................................................|-{kdevelop}(18455)
.................................................................|-{kdevelop}(18479)
.................................................................|-{kdevelop}(18491)
.................................................................|-{kdevelop}(18500)
.................................................................`-{kdevelop}(18502)

- Init é o processo pai de todos que sobe no início do sistema;
- Eu abri um terminal (o programinha que emula é o terminator);
- Dentro do terminator foi criado um bash;
- De dentro do bash eu executei o programa kdevelop (uma idezinha básica)
que criou uns 9 filhos pelo que pude ver;

Agora vou fechar o terminator e vamos ver o que acontece ;) ... O programa
fechou e todas as instâncias dele morreram junto.. Se eu executar o comando:

# pstree -p| egrep 18444

Com o nohup como disse o Júlio isso deixa de acontecer se eu executar assim:

# nohup kdevelop

Posso fechar o terminator (meu emulador de terminal) e o kdevelop continua
em execução.

Ele não retorna absolutamente nada pois junto com o terminator todos seus
filhos morreram.
Espero ter ajudado... caso eu tenha explicado alguma coisa mal explicada
ajudem ai pessoal.

Att.


Em 21 de fevereiro de 2013 10:28, Alex <address@hidden> escreveu:

> **
>
>
> Pessoal, bom dia.
> Fiz um menu, aonde o nosso operador pudesse visualizar / restartar uma
> aplicação.
> Mas estou com problema na hora do restart da aplicação. Faço o restart da
> aplicação, tudo ok.
> mas ao fechar a tela do terminal, a aplicação é encerrada. Não sei o que
> pode estar errado. Segue abaixo o codigo para se puderem me dar uma ajuda.
> grato,
>
> ---inicio---
>
> ## Menu Principal
> arping () {
>         echo -en "Executando arping ..."
>         /home/alex/arping.sh
>         echo -en "......................\033[01;34m OK \033[01;0m"
> }
> restart_app () {
>         echo -en "Reiniciando APP..."
>         /home/alex/restart_app.sh
>         echo -en "......................\033[01;34m OK \033[01;0m"
> }
> ver_logs () {
>         echo -en "Logs APP..."
>         /home/alex/transacoes.sh
>         echo -en "......................\033[01;34m OK \033[01;0m"
> }
> sair () {
>         echo -en "Finalizando script"
>         echo -en " ......................\033[01;34m OK \033[01;0m \n"
>         break
> }
> menu () {
> clear
> echo
> echo -e "\t\t\t \033[01;32mCHECA TRANSACOES APP \033[01;37m\n"
> echo -e "\t1. Executar arping"
> echo -e "\t2. Reiniciar APP"
> echo -e "\t3. Ver logs"
> echo -e "\t0. Sair\n\n"
> echo " "
> echo -en "\t\tEntre com uma opcao: "
> read  option
> }
> while [ 1 ]
> do
> menu
> case $option in
> 0)
> sair;;
> 1)
> arping;;
> 2)
> restart_app;;
> 3)
> ver_logs;;
> *)
> clear
> echo "Desculpe, escolha uma das opcoes acima";;
> esac
> echo -en "\n\n\t\t\tPressione qualquer tecla pra continuar"
> read line
> done
>
> ---fim----
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Rafael Henrique da Silva Correia
http://abraseucodigo.com.br

Bacharel em Ciência da Computação
Administrador de Sistemas Linux
Certificado pela LPIC - 101 <http://www.lpi.org/>
Certificado Novell (CLA) <http://www.novell.com/training/certinfo/cla/>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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