Avant de commencer, je tiens à préciser qu'il ne s'agit pas d'un outil de ligne de commande, mais d'une application qui accepte les commandes via sa propre interface de ligne de commande.Comment gérer un signal ctrl-break dans une interface de ligne de commande
Editer: Je dois m'excuser de mon explication d'avant, apparemment je n'ai pas fait un très bon travail pour l'expliquer. Une fois de plus ...
Je construis une application d'interface de ligne de commande qui accepte les commandes d'un utilisateur. J'ai une configuration de gestionnaire de signal pour attraper les signaux, qui définit ensuite un drapeau dont j'ai besoin pour terminer l'application. Le problème que je rencontre est que toutes les fonctions de la console que je peux trouver bloquent, ce qui signifie que je ne peux pas détecter que j'ai besoin de quitter la boucle de traitement de la console jusqu'à ce que l'utilisateur appuie sur une touche). Existe-t-il une manière standard de faire une interaction avec une console non-block, ou existe-t-il un moyen élégant de structurer le programme de sorte que si je viens de terminer le thread de signal, tout sera traité et libéré correctement ne comprenez pas cela, je sais comment cela pourrait être fait en verrouillant et libérant les ressources du fil de signalisation, mais cela pourrait devenir salissant, donc je préfère l'éviter)
Espérons que cette explication a plus de sens ...
Remarque: sous Windows, cliquez sur le bouton Fermer soulèvera le code sig 'SIGBREAK' (ctrl Pause) – 56ka