Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
931 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Signal ctrl-D

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Signal ctrl-D

n°949909
minimoke
beep beep
Posté le 10-01-2005 à 12:42:09  profilanswer
 

Salut tout le monde,
 
J'aimerais savoir comment je peux faire dans un programmes pour annuler le signal CTRL-D ou au moins faire en sorte d'executer une dernierre instructions certaines personne m'on dit que c t pas possible mais bon je sais que c possible rien qu'a voir emacs par example. Et plutot que chercher dans les sources d'emacs je m'adresse a vous qui avais peut etre la solution.
 
Merci de toutes vos reponses.


---------------
  ____
mood
Publicité
Posté le 10-01-2005 à 12:42:09  profilanswer
 

n°949958
minimoke
beep beep
Posté le 10-01-2005 à 13:39:00  profilanswer
 

ok g trouve atexit permet de lancer une dernierre fonctions avant de quitter


---------------
  ____
n°949959
minimoke
beep beep
Posté le 10-01-2005 à 13:39:20  profilanswer
 

mais pour l'annuler completement???


---------------
  ____
n°950033
push
/dev/random
Posté le 10-01-2005 à 14:28:04  profilanswer
 

c'est dans quel contexte ?
 
sinon un truc dans le genre à adapter peut-être
 

Code :
  1. if(feof(stdin))
  2.    clearerr(stdin);


Message édité par push le 10-01-2005 à 14:28:23
n°950098
matafan
Posté le 10-01-2005 à 15:43:51  profilanswer
 

ON A DIT 15 FOIS CES DERNIERS JOURS QUE CTRL-D N'EST PAS UN SIGNAL ! Ta question n'a aucun sens. Tu n'as pas compris ce que fais Ctrl-d.
 
Contrairement à un signal, tu ne reçois pas un Ctrl-d comme ça, de manière asynchrone. Tu rencontres simplement un Ctrl-d (enfin le EOF qui est envoyé pas Ctrl-d) à la fin de l'input, quand tu traites un flux d'entrée. Donc si tu veux faire quelque chose en réponse à un Ctrl-d, c'est très simple : tu ajoutes du code après ta boucle de lecture.


Message édité par matafan le 10-01-2005 à 15:44:22
n°950103
schnapsman​n
Zaford Beeblefect
Posté le 10-01-2005 à 15:49:51  profilanswer
 

matafan a écrit :

ON A DIT 15 FOIS CES DERNIERS JOURS QUE CTRL-D N'EST PAS UN SIGNAL !


bah sur un terminal unix, le shell sous jacent envoie le signal INTerrupt sur reception d'un ctrl-c, et un signal TERMinate sur reception d'un ctrl-d.
 
C'EST DONC PAS LA PEINE D'ECRIRE EN GRAS POUR RACONTER DES CONNERIES  :o  
 
 
cf signal.h, etc


Message édité par schnapsmann le 10-01-2005 à 15:53:49

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°950120
matafan
Posté le 10-01-2005 à 16:16:55  profilanswer
 

C'est compètement faux. Revise tes notions et laisse les grands écrire en gras.
 
Edit : Ah illumination, je crois que je viens de comprendre ce que tu voulais (peut-être) dire. Si tu lances ton appli en background, et que tu termines le shell qui a lancé l'appli avec Ctrl-D, alors SIGHUP (pas SIGTERM) est envoyé à ton appli, et l'action par defaut de SIGHUP et de terminer le programme. Oui. Mais le SIGHUP n'a rien à voir avec le Ctrl-D. C'est simplement que le shell decide de quitter s'il voit un EOF en début de ligne. Et comme toujours quand une application termine, un SIGHUP et envoyé à chacun des fils.


Message édité par matafan le 10-01-2005 à 16:38:44
n°950189
minimoke
beep beep
Posté le 10-01-2005 à 17:30:48  profilanswer
 

non en fait je sais bien que ctrl-d envoie un EOF seulement je voudrais que ctrl-d n'envoie rien comme le fait emacs dans emacs le ctrl-d est annuler completement.
ET G JAMAIS DIT SUE C T UN SIGNAL


---------------
  ____
n°950213
souliane
Posté le 10-01-2005 à 17:58:08  profilanswer
 

> aimerais savoir comment je peux faire dans un programmes
> pour annuler le signal CTRL-D ou au moins faire en sorte
               ^^^^^^^^^^^^^^^^^
 
Lol minimoke !

n°950221
minimoke
beep beep
Posté le 10-01-2005 à 18:10:19  profilanswer
 

fautes de frappes car je sais que c pas un signal


---------------
  ____
mood
Publicité
Posté le 10-01-2005 à 18:10:19  profilanswer
 

n°950238
souliane
Posté le 10-01-2005 à 18:30:44  profilanswer
 

Et dans le sujet, aussi une faute de frappe ? :)
Allez j'arrete de t'embeter hihi.

n°950971
schnapsman​n
Zaford Beeblefect
Posté le 11-01-2005 à 17:28:07  profilanswer
 

matafan a écrit :

C'est compètement faux. Revise tes notions et laisse les grands écrire en gras.
 
Edit : Ah illumination, je crois que je viens de comprendre ce que tu voulais (peut-être) dire. Si tu lances ton appli en background, et que tu termines le shell qui a lancé l'appli avec Ctrl-D, alors SIGHUP (pas SIGTERM) est envoyé à ton appli, et l'action par defaut de SIGHUP et de terminer le programme. Oui. Mais le SIGHUP n'a rien à voir avec le Ctrl-D. C'est simplement que le shell decide de quitter s'il voit un EOF en début de ligne. Et comme toujours quand une application termine, un SIGHUP et envoyé à chacun des fils.


Si tu envoies un charactère spécial "CTRL-C" sur l'entrée standard d'un process, rien ne se passe.
C'est le shell, qui avec un fils lancé en "foreground" sans redirection de  l'entrée standard, intercepte les "CTRL-C" et envoie un signal INTerrupt au processus fils en question.

minimoke a écrit :

non en fait je sais bien que ctrl-d envoie un EOF seulement je voudrais que ctrl-d n'envoie rien comme le fait emacs dans emacs le ctrl-d est annuler completement.
ET G JAMAIS DIT SUE C T UN SIGNAL


 

minimoke a écrit :

Salut tout le monde,
 
J'aimerais savoir comment je peux faire dans un programmes pour annuler le signal CTRL-D ou au moins faire en sorte d'executer une dernierre instructions certaines personne m'on dit que c t pas possible mais bon je sais que c possible rien qu'a voir emacs par example. Et plutot que chercher dans les sources d'emacs je m'adresse a vous qui avais peut etre la solution.
 
Merci de toutes vos reponses.


faudrais savoir ce que tu veux dans ce cas


Message édité par schnapsmann le 11-01-2005 à 17:28:46

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Signal ctrl-D

 

Sujets relatifs
signal ctrl + d[C]Valeur en volt de la tension d'un signal Audio en entrée
algo, decodage signal numerique[awt/swing][résolu] listener sur ALT ou CTRL uniquement
[HELP] Comment bloquer les touches Windows & Ctrl Alt Supp ?Ctrl ouverture fichier
[Perl] Arrêter un programme proprement lors d'un Ctrl + CPOSIX Que faire apres avoir attrape un signal
Signal Handler (segmentation fault) 
Plus de sujets relatifs à : Signal ctrl-D


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR