Em 8/7/2010 02:13, Julio C. Neves escreveu:
> Fala Rogério,
>   o seu problema é que vc não está no seu shell inicial e sim em um filho
> deste que foi disparado para atender ao seu script. Se não fosse assim, o
> seu shell morreria sempre que um script terminasse.
>
> As únicas formas de fazer isso que posso imaginar, são:
> - pegar o PID do bash via um ps sem argumentos e dar-lhe um kill
> - executar o seu script pelo cmd source. Isso se faz colocando um ponto à
> frente do nome do script. Suponha que o nome seja scr.sh. Vc deve executá-lo
> assim:
> . ./scr.sh
>
> Não esqueça de montar um trap na 1a. linha do script, mais ou menos assim:
>
> trap "exit 1" {1..64}
>
> Isso é para derrubar o shell se ele receber algum sinal. Se vc não fizer
> isso e o operador der um ctrl+c, p.ex., seus dados permanecerão na partição
> a disposição de qq curioso e isso não é muito seguro.
>
> Abraços,
> Julio
> Cursos de Shell e Zenity em 2 fins de semana?
> - SE turma de Shell/Zenity em 26/07 - clemis...@gmail.com
> - SP turma de Shell em 14/08 - www.4Linux.com.br
> - Turmas fechadas em outras cidades ligue (21)8112-9988.
>
>
> Em 7 de julho de 2010 18:09, Rogério Tomassoni
> <sistem...@furacao.com.br>escreveu:
>
>    
>>
>> Alguem, saberia uma solução para finalizar um konsole do kde após um
>> script ser finalizado?
>> Exemplo:
>> Tenho um script que realiza uma conexão via ssh e abre um aplicativo em
>> terminal. (Nesse ponto, ainda esta dentro de uma condição no meu script,
>> e o konsole aberto).
>> Ao finalizar a conexão, quero que feche o konsole que foi aberto. (Após
>> finalizar a conexao ssh, o script sai da condição e executa exit 0, mas
>> cai no konsole).
>>
>> Hoje, o que acontece, que a conexão é finalizada, o aplicativo fecha,
>> claro, mas o konsole fica aberto.
>>
>>
>>
>>      
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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: shell-script-unsubscr...@yahoogrupos.com.br
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>
>
>    
Pessoal consegui, nada como um dia após outro dia.
Seguinte usei o DCOP mesmo para finalizar o shell atual/corrente, fiz assim:

No final do meu script inseri as seguintes linhas:

# Pega o PID do shell corrente atraves do dcop
pidShellCurrente=$(echo "$KONSOLE_DCOP" | cut -d- -f2 | cut -d, -f1)
# Mata o processo com PID do konsole
kill -9 $pidShellCurrente

Funcionou perfeitamente.

Agradeço a atenção de todos.
Até breve.


Responder a