IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

comment tuer un thread


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut comment tuer un thread
    Bonjour,
    j'aimerais savoir comment tuer un thread,
    j'ai vu pthread_kill( thread, num_du_signal ) (cf. http://www.dil.univ-mrs.fr/~massat/ens/docs/thread.html)
    mais le numéro du signal c'est quoi ... ?
    y aurait il une autre méthode ( fonction ) qui tue un thread rattaché à mon main() ?

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 17
    Points
    17
    Par défaut
    sig représente au choix les signaux suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    beeg@synack:~$ kill -l
     1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL
     5) SIGTRAP	 6) SIGABRT	 7) SIGBUS	 8) SIGFPE
     9) SIGKILL	10) SIGUSR1	11) SIGSEGV	12) SIGUSR2
    13) SIGPIPE	14) SIGALRM	15) SIGTERM	16) SIGSTKFLT
    17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
    21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU
    25) SIGXFSZ	26) SIGVTALRM	27) SIGPROF	28) SIGWINCH
    29) SIGIO	30) SIGPWR	31) SIGSYS	34) SIGRTMIN
    35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3	38) SIGRTMIN+4
    39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
    43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12
    47) SIGRTMIN+13	48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14
    51) SIGRTMAX-13	52) SIGRTMAX-12	53) SIGRTMAX-11	54) SIGRTMAX-10
    55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7	58) SIGRTMAX-6
    59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
    63) SIGRTMAX-1	64) SIGRTMAX

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut comment tuer un thread sans tuer le main( )
    Voici mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void *myfunction(void* data){
        le_corps de_mafonction;
    }
    void main( ){
      pthread_create(&my_thread, NULL, my_function, (void *) data );
      if(ma_condition)
          pthread_kill(my_thread, 9);
    }
    Mon problème :
    ca a tué (fermé) tout mon programme), alors que mon but était de tuer uniquement le thread qui lance myfunction( ) et non pas tout le main( ).

    Ma question :
    quelqu'un aurait une méthode pour tuer un thread (ou faire cesser de s'executer) sans pour autant tuer le thread appelant.

    Merci d'avance pour votre aide .

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Je pense que la fonction pthread_cancel répond plus à ton problème que pthread_kill.

Discussions similaires

  1. [Débutant] Comment tuer un thread?
    Par pixigol dans le forum C#
    Réponses: 2
    Dernier message: 11/01/2013, 14h13
  2. [D6] Comment tuer un Thread ?
    Par Lung dans le forum Langage
    Réponses: 6
    Dernier message: 28/04/2006, 11h42
  3. Comment tuer une frame
    Par tymous dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 28/07/2004, 11h53
  4. Comment tuer le processus ez-ipupdate
    Par berry dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 21/06/2004, 15h07
  5. comment stoper 1 thread d'arrière-plan
    Par ms91fr dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2003, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo