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

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

Re: RES: RES: RES: RES: RES: [shell-script] re: Crt+c


From: Miranda
Subject: Re: RES: RES: RES: RES: RES: [shell-script] re: Crt+c
Date: Tue, 28 Sep 2004 09:16:50 -0300
User-agent: KMail/1.5

OK
Mas você concluiu que o 
o processo filho herda o trap ?
Pois nos meus testes não herdou ...
O que fiz foi desmembrar o programa tb
e uma pequena alteração
Caso você possa , faça os testes aí 
 x.sh continha:

trap ""  20
echo $$
echo "em x : `trap -p`"
/tmp/y.sh

e /tmp/y.sh continha :

echo "em y : `trap -p`"
while true
do
  echo -n .
  sleep 1
done

ao executar x.sh
obtive :

15012
em x : trap -- '' TSTP
em y :
........

ao pressionar CTRL-Z os pontinhos pararam de aparecer

em outro terminal descobri o PID do processo sleep
executei kill -SIGCONT PID  e os pontinhos recomeçaram

concluí , então
havia na shell de chamada de x.sh uma trap definida para o signal 20
confirmado com o comando trap -p
em y.sh não havia
o que se confirmou quando pressionei CTRL-Z  , esse foi suspenso e continuei o 
processo
mandando um SIGCONT


On Monday 27 September 2004 21:05, Julio Cezar Neves - DATAPREVRJ wrote:
> Olha aí Miranda,
>
> Prompt> cat Prg1
> trap "echo recebi sinal 2" 2
> ./Prg2
> Prompt> cat Prg2
> sleep 10
> Prompt> ./Prg1
> òrecebi sinal 2
>
> E olha só isso tb:
>
> Prompt> cat Prg1
> trap "echo $$" 2
> ./Prg2
> Prompt> ./Prg1
> ò3190
> Prompt> cat Prg1
> trap 'echo $$' 2
> g
> Prompt> ./Prg1
> ò3195
>
> Isto é, se os cmds do trap estiverem entre aspas, os cmds são resolvidos no
> momento em que o trap é lido, caso esteja entre apóstrofos, os cmds são
> resolvidos qdo o sinal é recebido.
>
> [ ]s,
> Julio Cezar Neves
> - Gerente do Programa de Software Livre -
> Tel:+55 21 2528-7070 / +55 21 8112-9988
> Fax: +55 21 2528-7646
> mailto:address@hidden
>
> | -----Mensagem original-----
> | De: Miranda [mailto:address@hidden]
> | Enviada em: segunda-feira, 27 de setembro de 2004 13:49
> | Para: address@hidden
> | Assunto: Re: RES: RES: RES: RES: [shell-script] re: Crt+c
> |
> |
> | bem , não foi o que entendi lendo as linhas abaixo
> | no manual do trap
> |
> | Trapped  signals
> |               are reset to their original values in a child
> | process when it is
> |               created.
> |
> | On Monday 27 September 2004 12:18, Julio Cezar Neves -
> |
> | DATAPREVRJ wrote:
> | > | -----Mensagem original-----
> | > | De: Miranda [mailto:address@hidden]
> | > | Enviada em: segunda-feira, 27 de setembro de 2004 11:59
> | > | Para: address@hidden
> | > | Assunto: Re: RES: RES: RES: [shell-script] re: Crt+c
> | > |
> | > |
> | > | entendi
> | > | a diferença
> | > | eu disparei uma shell
> | > | x.sh
> | > | conteudo de x.sh :
> | > |
> | > | #trap ""  20
> | > |  echo $$
> | > |  while true
> | > |  do
> | > |    echo -n .
> | > |    sleep 1
> | > |  done
> | > |
> | > | do prompt como você fez
> | > | tentei aqui e tb não deu certo
> | > | não serveria para uma shell filha ?
> | > | seria isso ?
> | > | será que tem que "exportar"   o trap  ?
> | >
> | > Não, o trap é auto exportado para qq instância de shell que
> |
> | vc dispare. Há
> |
> | > muito tempo que pesquiso estes sinais, mas nem no código do
> |
> | bash isso está
> |
> | > muito claro. O que faço é disparar (com o cmd source ou .)
> |
> | um scriptiznho
> |
> | > que "liga" todos os sinais e esperar que um deles ocorra.
> | >
> | > for ((i=0; i<64; ++i))
> | > do
> | >     trap "echo recebi sinal $i" $i
> | > done
> | >
> | > | On Monday 27 September 2004 11:34, Julio Cezar Neves -
> | > |
> | > | DATAPREVRJ wrote:
> | > | > Aê Miranda,
> | > | > Prompt> stty -a | grep susp
> | > | > eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt =
> | > |
> | > | ^R; werase = ^W;
> | > |
> | > | > [ ]s,
> | > | > Julio Cezar Neves
> | > | > - Gerente do Programa de Software Livre -
> | > | > Tel:+55 21 2528-7070 / +55 21 8112-9988
> | > | > Fax: +55 21 2528-7646
> | > | > mailto:address@hidden
> | > | >
> | > | > | -----Mensagem original-----
> | > | > | De: Miranda [mailto:address@hidden]
> | > | > | Enviada em: segunda-feira, 27 de setembro de 2004 11:28
> | > | > | Para: address@hidden
> | > | > | Assunto: Re: RES: RES: [shell-script] re: Crt+c
> | > | > |
> | > | > |
> | > | > | veja que combinação de teclas está gerando o SUSP
> | > | > | stty -a | grep susp
> | > | > |
> | > | > | On Monday 27 September 2004 11:14, Julio Cezar Neves -
> | > | > |
> | > | > | DATAPREVRJ wrote:
> | > | > | > Aqui tb é RH 9 e não funcionou:
> | > | > | > Prompt> trap ""  20
> | > | > | > Prompt> echo $$
> | > | > | > 2564
> | > | > | > Prompt> while true
> | > | > | >
> | > | > | > > do
> | > | > | > >   echo -n .
> | > | > | > >   sleep 1
> | > | > | > > done
> | > | > | >
> | > | > | > ....ò  # Aqui mandei um CTRL+Z
> | > | > | > [1]+  Stopped                 sleep 1
> | > | > | >
> | > | > | > [ ]s,
> | > | > | > Julio Cezar Neves
> | > | > | > - Programa de Software Livre -
> | > | > | > Tel:+55 21 2528-7070 / +55 21 8112-9988
> | > | > | > Fax: +55 21 2528-7646
> | > | > | > mailto:address@hidden
> | > | > | >
> | > | > | > | -----Mensagem original-----
> | > | > | > | De: Miranda [mailto:address@hidden]
> | > | > | > | Enviada em: segunda-feira, 27 de setembro de 2004 10:55
> | > | > | > | Para: address@hidden
> | > | > | > | Assunto: Re: RES: [shell-script] re: Crt+c
> | > | > | > |
> | > | > | > |
> | > | > | > | Fiz um teste aqui no meu Red Hat 9.0 e funcionou
> | > | > | > | com o 20
> | > | > | > | trata-se do SIGTSTP
> | > | > | > | (descobri com o kill -l )
> | > | > | > | juntamente com o stty -a
> | > | > | > | stty -a me mostrou que o CTRL-Z é disparado como SUSP
> | > | > | > | que é um sinal que pára o processo
> | > | > | > | através de pressionamento de tecla
> | > | > | > | por isso confundi com o 19
> | > | > | > | que é
> | > | > | > | SIGSTOP
> | > | > | > | o script que usei para teste foi esse aqui
> | > | > | > | (tecle CTRL-Z e veja o que acontece )
> | > | > | > | ( o comando fg coloca o programa rodando novamente)
> | > | > | > | (depois descomente a linha do trap e teste novamente )
> | > | > | > |
> | > | > | > |
> | > | > | > |
> | > | > | > | On Monday 27 September 2004 10:37, Julio Cezar Neves -
> | > | > | > |
> | > | > | > | DATAPREVRJ wrote:
> | > | > | > | > Rafael e Miranda,
> | > | > | > | > o CTRL+Z não gera sinal. Para vc saber os sinais
> | > | > | > |
> | > | > | > | monitoraveis faça um trap
> | > | > | > |
> | > | > | > | > -l. Até agora, de interessante, conheço somente os
> | > | > |
> | > | > | seguintes sinais:
> | > | > | > | > 0 - fim normal
> | > | > | > | > 2 - CTRL+C
> | > | > | > | > 3 - CTRL+\ (em alguns sabores causa uma
> |
> | interrupção seguida
> |
> | > | > | > | de core dump)
> | > | > | > |
> | > | > | > | > 17 - Fim de um processo filho (teste ligar este trap e
> | > | > | > |
> | > | > | > | fazer sleep 3&)
> | > | > | > |
> | > | > | > | > 28 - Mudança no tamanho da janela (é com esse
> |
> | sinal que se
> |
> | > | > | > | faz o prog que
> | > | > | > |
> | > | > | > | > põe o tamanho da janela no centro da tela qdo
> |
> | vc altera o
> |
> | > | > | > | seu tamanho), é o
> | > | > | > |
> | > | > | > | > shell orientado a eventos :)
> | > | > | > | >
> | > | > | > | > Se descobrirem outros que sirvam por favor me avisem.
> | > | > | > | >
> | > | > | > | > [ ]s,
> | > | > | > | > Julio Cezar Neves
> | > | > | > | > - Gerente do Programa de Software Livre -
> | > | > | > | > Tel:+55 21 2528-7070 / +55 21 8112-9988
> | > | > | > | > Fax: +55 21 2528-7646
> | > | > | > | > mailto:address@hidden
> | > | > | > | >
> | > | > | > | > | -----Mensagem original-----
> | > | > | > | > | De: Miranda [mailto:address@hidden]
> | > | > | > | > | Enviada em: segunda-feira, 27 de setembro de
> |
> | 2004 09:20
> |
> | > | > | > | > | Para: address@hidden
> | > | > | > | > | Assunto: Re: [shell-script] re: Crt+c
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | > |
> | > | > | > | > | se não estou enganando
> | > | > | > | > | você quer mascarar o sinal 19
> | > | > | > | > | tenta ai
> | > | > | > | > |
> | > | > | > | > | On Saturday 25 September 2004 11:29, rafael
> |
> | stell wrote:
> | > | > | > | > | > Olá Julio neves,
> | > | > | > | > | >
> | > | > | > | > | > Teria como abortar tb o Crt+z. Já abusando sabe onde
> | > | > | > | > |
> | > | > | > | > | consigo mais info
> | > | > | > | > |
> | > | > | > | > | > sobre o comando trap estou apanhando para o google.
> | > | > | > | > | >
> | > | > | > | > | >
> | > | > | > | > | > Obrigado : :  - )
> | > | > | > | > | >
> | > | > | > | > | >
> | > | > | > | > | > ---------------------------------
> | > | > | > | > | > Yahoo! Messenger 6.0 - jogos, emoticons
> |
> | sonoros e muita
> |
> | > | > | > | > | diversão. Instale
> | > | > | > | > |
> | > | > | > | > | > agora!
> | > | > | > | > | >
> | > | > | > | > | > [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:
> |
> | address@hidden
> |
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > | > Esta lista é moderada de acordo com o previsto em
> | > | > | > | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > | 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:
> |
> | address@hidden
> |
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > | Esta lista é moderada de acordo com o previsto em
> | > | > | > | >
> | > | > | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > Esta lista é moderada de acordo com o previsto em
> | > | > | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > | Esta lista é moderada de acordo com o previsto em
> | > | > | >
> | > | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > Esta lista é moderada de acordo com o previsto em
> | > | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > | 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | > | Esta lista é moderada de acordo com o previsto em
> | > | >
> | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | > 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | > Esta lista é moderada de acordo com o previsto em
> | > | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > | 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > | Esta lista é moderada de acordo com o previsto em
> | >
> | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> |
> | > 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: address@hidden
> |
> | ---------------------------------------------------------------------
> |
> | > Esta lista é moderada de acordo com o previsto em
> | > http://www.listas-discussao.cjb.net
> |
> | ---------------------------------------------------------------------
> |
> | > Links do Yahoo! Grupos
> |
> | ---------------------------------------------------------------------
> | 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: address@hidden
> | ---------------------------------------------------------------------
> | Esta lista é moderada de acordo com o previsto em
>
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> 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: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>



reply via email to

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