Liste des signaux

 

Voici un tableau des différents signaux gérés par le système:

    Rem Nom Désignation Effet si signal ignoré
    1   SIGHUP fin de session fin
    2   SIGINT int: <intr> clavier Ctrl C fin
    3 * SIGQUIT int: <quit> clavier Ctrl D core
    4 * SIGILL instruction illégale core
    5 * SIGTRAP trace ou point d'arrêt core
    6 * SIGIOT/SIGABRT instruction IOT ou abort core
    7 * SIGEMT émulation trap core
    8 * SIGFPE erreur virgule flottante core
    9   SIGKILL mort du process (non traitable) fin
    10 * SIGBUS erreur de bus core
    11 * SIGSEGV violation mémoire core
    12 * SYGSYS erreur appel système core
    13   SIGPIPE écriture dans tube sans lecteur fin
    14   SIGALRM alarme de l'horloge fin
    15   SIGTERM terminaison du processus fin
    16 + SIGUSR1 signal 1 pour utilisateurs fin
    17 + SIGUSR2 signal 2 pour utilisateurs fin
    18 + SIGCLD/SIGCHLD mort d'un fils ignoré
    19 + SIGPWR coupure/redémarrage ignoré
    20 + SIGWINCH changement de taille fenêtre ignoré
    21 + SIGURG info. urgentes sur socket ignoré
    22 + SIGPOLL occurrence d'événements scruté fin
    23 + SIGSTOP demande de suspension suspension
    24   SIGTSTP demande suspension du terminal suspension
    25   SIGCONT demande de reprise du processus ignoré
    26   SIGTTIN lecture terminal en background suspension
    27   SIGTTOU écriture au terminal en background suspension
    28 + SIGVTALRM horloge virtuelle fin
    29   SIGPROF horloge fin
    30   SIGXCPU temps cpu maximal écoulé core
    31   SIGXFSZ taille maximale de fichier atteinte core

* Si le signal est ignoré, provoque un core image.

core: le processus se termine et le contexte est placé dans le fichier core.

ignoré: le processus ne se termine pas.

fin: le processus se termine.

suspension: le processus est suspendu.

Si le signal SIGCLD (mort d'un fils) est intercepté le processus fils ne laissera pas un Zombie.

Le signal SIGKILL ne peut être intercepté et provoque toujours la terminaison du processus.

 

Structure itimerval

struct itimerval {
struct timeval it_interval; /* valeur suivante */
struct timeval it_value; /* valeur actuelle */
};

Elle même utilisant une structure:
struct timeval {
long tv_sec; /* secondes */
long tv_usec; /* micro secondes */
};

Utilisée avec la fonction setitimer ou getitimer. La fonction setitimer déclenchant un signal SIGALRM lorsque la durée que vous avez programmé est passée.

Valeur suivante indiquant la valeur initiale d'attente.

Valeur actuelle représentant la valeur restant actuellement avant que le signal ne soit envoyé. Cette valeur allant décroissant dans le temps jusqu'à 0.