[Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.Mas e se eu quisesse, especificamente em um 
script, determinar que seu encerramento fosse após apertar 3 vezes consecutivas 
Ctrl + C, ou então ao apertar Ctrl + shift + C, ou sei lá, qualquer outro 
comando que eu queira, como deveria fazer?
Desde já grato.
Att,Aureliano Guedes  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Renato Santos
você tem que ignorar o sinal de KILL do sistema.


para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html

algo para ignorar pra sempre,


$SIG{KILL} = 'IGNORE';



2013/11/25 Aureliano Guedes guedes_1...@hotmail.com

 Boa tarde,
 Monges.

 Gostaria de saber se existe a possibilidade de eu controlar comandos do
 sistema?

 Bom, quando estamos executando algum script, se eu quiser encerra-lo a
 qualquer momento basta que eu tecle Ctrl + C.
 Mas e se eu quisesse, especificamente em um script, determinar que seu
 encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
 apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
 como deveria fazer?

 Desde já grato.

 Att,
 Aureliano Guedes

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




-- 
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron http://twitter.com/#!/renato_cron
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Oscar Marques
Boa pergunta, no perl eu nao sei.
No shell é  ~ $ trap
trap -- '' SIGTSTP
trap -- '' SIGTTIN
trap -- '' SIGTTOU
Acho que já um caminho pra voce pesquisar.


Em 25 de novembro de 2013 16:04, Aureliano Guedes
guedes_1...@hotmail.comescreveu:

 Boa tarde,
 Monges.

 Gostaria de saber se existe a possibilidade de eu controlar comandos do
 sistema?

 Bom, quando estamos executando algum script, se eu quiser encerra-lo a
 qualquer momento basta que eu tecle Ctrl + C.
 Mas e se eu quisesse, especificamente em um script, determinar que seu
 encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
 apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
 como deveria fazer?

 Desde já grato.

 Att,
 Aureliano Guedes

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




-- 
Oscar Marques
osca...@gmail.com
http://www.dunkelheit.com.br
@f117usbr https://twitter.com/#%21/f117usbr
+55 21 9293-9343
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Andre Luis
Exemplo:

#!/usr/bin/perl

my $down = 0;

@SIG{qw( INT TERM HUP )} = sub {
$down++;
die('Going down') if $down = 3;
};

while (1) {
print TESTE\n;
sleep 1;
}





Em 25 de novembro de 2013 16:10, Andre Luis alpbs2...@gmail.com escreveu:

 nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi
 ele quer tratar


 $SIG{KILL} = sub {  do_something() };




 Em 25 de novembro de 2013 16:06, Renato Santos 
 renato.c...@gmail.comescreveu:

 você tem que ignorar o sinal de KILL do sistema.


 para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html

 algo para ignorar pra sempre,


 $SIG{KILL} = 'IGNORE';



 2013/11/25 Aureliano Guedes guedes_1...@hotmail.com

 Boa tarde,
 Monges.

 Gostaria de saber se existe a possibilidade de eu controlar comandos do
 sistema?

 Bom, quando estamos executando algum script, se eu quiser encerra-lo a
 qualquer momento basta que eu tecle Ctrl + C.
 Mas e se eu quisesse, especificamente em um script, determinar que seu
 encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
 apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
 como deveria fazer?

 Desde já grato.

 Att,
 Aureliano Guedes

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 Saravá,
 Renato CRON
 http://www.renatocron.com/blog/
 @renato_cron http://twitter.com/#!/renato_cron

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 technology does not drive change - it enables change




-- 
technology does not drive change - it enables change
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Tiago Peczenyj
Veja só. quando vc mandou o primeiro SIGINT, a execução do codigo foi
desviada para a função anonima contida em $SIG{INT}, entretanto como vc
sabe que tem que voltar para aonde vc estava? não sabe.

veja este exemplo:

my $c = 0; $SIG{INT} = sub { print $c\n; $c++;};

do {

eval { print $c inicio...\n; sleep 5 ; print ... done\n; };

} while ($c  3);

o codigo mesmo esta entre eval { ... } entretanto que sabe se deve
continuar ou não é o codigo externo, o while.

vc nao pode simplesmente mandar 3 SIGINT e achar que o seu script vai saber
lidar com isso. vc vai PARAR a execução pra executar o bloco associado
aquele trap.

agora se vc quer parar o seu programa depois de 3 ctrl+c, faça o seu script
criar um FORK, rodar o que precisa no processo filho e no processo pai vc
controla este estado, depois do terceiro SIGINT vc pode matar o processo,
por exemplo.


2013/11/25 Renato Santos renato.c...@gmail.com


  SIGINT2   TermInterrupt from keyboard


 Esse é o CTRL+C,

 $SIG{INT} = 'IGNORE';

 não consegui fazer assim:

 my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++  3 };

 não sei porque, alguem sabe?


 2013/11/25 Andre Luis alpbs2...@gmail.com

 nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi
 ele quer tratar





 $SIG{KILL} = sub {  do_something() };




 Em 25 de novembro de 2013 16:06, Renato Santos 
 renato.c...@gmail.comescreveu:

 você tem que ignorar o sinal de KILL do sistema.


 para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html

 algo para ignorar pra sempre,


 $SIG{KILL} = 'IGNORE';



 2013/11/25 Aureliano Guedes guedes_1...@hotmail.com

 Boa tarde,
 Monges.

 Gostaria de saber se existe a possibilidade de eu controlar comandos do
 sistema?

 Bom, quando estamos executando algum script, se eu quiser encerra-lo a
 qualquer momento basta que eu tecle Ctrl + C.
 Mas e se eu quisesse, especificamente em um script, determinar que seu
 encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao
 apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira,
 como deveria fazer?

 Desde já grato.

 Att,
 Aureliano Guedes

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 Saravá,
 Renato CRON
 http://www.renatocron.com/blog/
 @renato_cron http://twitter.com/#!/renato_cron

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 technology does not drive change - it enables change

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




 --
 Saravá,
 Renato CRON
 http://www.renatocron.com/blog/
 @renato_cron http://twitter.com/#!/renato_cron

 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
André Luiz, vou fazer da sua forma, obrigado.Agora fiquei sem entender porque 
$SIG{qw (INT TERM HUP)}...
Renato, tentei fazer assim:my $c = 0; $SIG{INT} = sub { $c = 2 ? $c++ : die };
while (1) {print TESTE\n;sleep 1;}
Deu certo, mas deu errado, por algum motivo tenho que apertar ctrl + c umas 4 
vezes ou mais para dar certo

From: renato.c...@gmail.com
Date: Mon, 25 Nov 2013 16:22:07 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [HELP] Controlando comandos do sistema

 SIGINT2   TermInterrupt from keyboard




Esse é o CTRL+C,






$SIG{INT} = 'IGNORE';







não consegui fazer assim:


my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++  3 };



não sei porque, alguem sabe?




2013/11/25 Andre Luis alpbs2...@gmail.com



nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi ele 
quer tratar 


$SIG{KILL} = sub {  do_something() }; 
 



Em 25 de novembro de 2013 16:06, Renato Santos renato.c...@gmail.com escreveu:




você tem que ignorar o sinal de KILL do sistema.



para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html




algo para ignorar pra sempre,$SIG{KILL} = 'IGNORE';

2013/11/25 Aureliano Guedes guedes_1...@hotmail.com









Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.





Mas e se eu quisesse, especificamente em um script, determinar que seu 
encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao 
apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira, como 
deveria fazer?






Desde já grato.
Att,Aureliano Guedes  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Saravá,

Renato CRONhttp://www.renatocron.com/blog/





@renato_cron


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 

technology does not drive change - it enables change


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Saravá,


Renato CRONhttp://www.renatocron.com/blog/


@renato_cron


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
André Luiz, vou fazer da sua forma, obrigado.Agora fiquei sem entender porque 
$SIG{qw (INT TERM HUP)}...
Renato, tentei fazer assim:my $c = 0; $SIG{INT} = sub { $c = 2 ? $c++ : die };
while (1) {print TESTE\n;sleep 1;}
Deu certo, mas deu errado, por algum motivo tenho que apertar ctrl + c umas 4 
vezes ou mais para dar certo

From: renato.c...@gmail.com
Date: Mon, 25 Nov 2013 16:22:07 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [HELP] Controlando comandos do sistema

 SIGINT2   TermInterrupt from keyboard




Esse é o CTRL+C,






$SIG{INT} = 'IGNORE';







não consegui fazer assim:


my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++  3 };



não sei porque, alguem sabe?




2013/11/25 Andre Luis alpbs2...@gmail.com



nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi ele 
quer tratar 


$SIG{KILL} = sub {  do_something() }; 
 



Em 25 de novembro de 2013 16:06, Renato Santos renato.c...@gmail.com escreveu:




você tem que ignorar o sinal de KILL do sistema.



para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html




algo para ignorar pra sempre,$SIG{KILL} = 'IGNORE';

2013/11/25 Aureliano Guedes guedes_1...@hotmail.com









Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.





Mas e se eu quisesse, especificamente em um script, determinar que seu 
encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao 
apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira, como 
deveria fazer?






Desde já grato.
Att,Aureliano Guedes  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Saravá,

Renato CRONhttp://www.renatocron.com/blog/





@renato_cron


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 

technology does not drive change - it enables change


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Saravá,


Renato CRONhttp://www.renatocron.com/blog/


@renato_cron


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm