[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: RES: RES: RES: RES: RES: [shell-script] re: Crt+c
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: RES: RES: RES: RES: RES: [shell-script] re: Crt+c |
Date: |
Tue, 28 Sep 2004 14:41:17 -0300 |
Miranda, teste com outro sinal, o 20 eu não consigo entender o [não]
funcionamento, não funciona nem no prompt. Troque 20 por 2 e observe a
herança.
[ ]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: terça-feira, 28 de setembro de 2004 09:17
| Para: address@hidden
| Assunto: Re: RES: RES: RES: RES: RES: [shell-script] re: Crt+c
|
|
| 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
| >
| >
| >
|
|
|
| ---------------------------------------------------------------------
| 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
- RES: RES: RES: RES: RES: RES: [shell-script] re: Crt+c,
Julio Cezar Neves - DATAPREVRJ <=