[Perl] Interrompre un programme perl proprement

Patrice Karatchentzeff patrice.karatchentzeff at gmail.com
Dim 1 Oct 20:26:36 CEST 2017


Bon, j'ai réussi finalement...

use sigtrap 'handler', \&my_handler, 'normal-signals';

my $readstop = "1";

sub my_handler {
  $readstop=0;
}

sub mypg {
  while ($readstop) {
     blablabla...
    }
  };

La difficulté était d'interrompre proprement la boucle de lecture du port
série...

PK



Le 1 octobre 2017 à 15:10, Patrice Karatchentzeff <
patrice.karatchentzeff at gmail.com> a écrit :

> Salut
>
> J'ai un script qui utilise Device::SerialPort et qui a l'embêtement de me
> donner une écriture correcte qu'à la sortie du programme.. Pour le moment,
> je m'en sortais avec une durée fixe.
>
> Aujourd'hui, j'ai une durée variable et je ne connais pas cette durée
> variable.
>
> Je pense que la solution est d'arrêter le programme avec une interruption
> et que je le conclus alors correctement. J'ai commencé à regarder la doc
> sur les gestionnaires d'interruption mais j'avoue que je m'y perds un peu...
>
> Je voudrais une interruption donnée - tant qu'à faire qui ne soit pas une
> interruption système : on va dire CTRL-K - et à partir de là, finir
> proprement mon programme...
>
> J'ai parcouru les modules sigtrap, signal et d'autres mais ça ne me parle
> pas vraiment.
>
> Quel est le module ad hoc pour cela ?
>
> Merci d'avance,
>
> PK
>
> --
>       |\      _,,,---,,_           Patrice KARATCHENTZEFF
> ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
>      |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
>     '---''(_/--'  `-'\_)
>



-- 
      |\      _,,,---,,_           Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff at gmail.com
     |,4-  ) )-,_. ,\ (  `'-'      http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'\_)
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20171001/53ec929e/attachment.html>


Plus d'informations sur la liste de diffusion Perl