Liste des signaux
Voici un tableau des différents signaux gérés par le système:
N° | 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.