• # sequenceur

    Posté par . En réponse au message combien de temps se passe entre l'émission d'un SIGSEV et SIGKILL. Évalué à 4.

    voila si dans mon code il y a un segfault, alors mon programme attrape le signal SIGSEGV et > lance ma fonction void gestionnaire(int num) grace à la fonction sigaction().

    Attention, en matière de signaux, on ne peut pas tout faire, consultez la page de man 7 signal pour connaitre les fonctions que vous pouvez utiliser dans un handler.

    Mais au bout de combien de temps le noyau va tuer mon processus ?

    D'une part, ce n'est pas une question de temps et surtout, il ne va pas tuer votre processus.
    Le séquenceur (donc le noyau pour répondre à la deuxième question), va suspendre le processus pour donner la main au code du gestionnaire de signal, puis, reprendre le processus là où vous l'avez laissé.

    Dans le cas d'un SIGSEGV vous pouvez entrer dans une boucle infinie, terminez par un abort, quoiqu'il arrive.