Un signal est un message qui peut être envoyé à un processus en cours.
Les signaux peuvent être engagées par les programmes, les utilisateurs ou les administrateurs.
Par exemple, pour la bonne façon de raconter l'Internet
Par exemple, si l'actuel processus ID (PID) de inetd est 4140, nous type:
kill-SIGHUP 4140
Un autre usage des signaux est d'arrêter un processus en cours. Pour arrêter le processus de inetd complètement, nous devrions utiliser cette commande:
kill 4140
Par défaut, la commande kill envoie le signal SIGTERM. SIGTERM S'il échoue, il peut grimper à l'utilisation de l'SIGKILL signal d'arrêt du processus:
kill -9 4140
Parce que SIGKILL ne peut pas être traité, d'arrêter un processus avec SIGKILL est généralement considéré comme une mauvaise idée. Utilisation SIGKILL empêche un processus de nettoyage après la sortie elle-même et avec élégance.
Unix Chaque signal a une valeur par défaut de l'ensemble des effets sur un système Unix programme. Les programmeurs peuvent coder leurs applications pour répondre à des moyens adaptés à la plupart des signaux. Ces morceaux de code personnalisé sont appelés à manipuler des signaux.
Deux signaux ne peuvent pas être redéfini par un gestionnaire de signal. SIGKILL s'arrête toujours un processus et SIGSTOP se déplace toujours d'un processus de premier plan à l'arrière-plan. Ces deux signaux ne peuvent pas être "pris" par un gestionnaire de signal.
| Nom du signal | Nombre de signaux | Description des signaux |
|---|---|---|
| SIGHUP | 1 | Terminal ligne hangup |
| SIGINT | 2 | Interrompre le programme |
| SIGQUIT | 3 | Quitter programme |
| SIGILL | 4 | Illegal instruction |
| SIGTRAP | 5 | Trace piège |
| SIGABRT | 6 | Abort |
| SIGEMT | 7 | Emuler instruction exécutée |
| SIGFPE | 8 | Floating-point exception |
| SIGKILL | 9 | Kill programme |
| SIGBUS | 10 | Bus erreur |
| SIGSEGV | 11 | Segmentation violation |
| SIGSYS | 12 | Bad argument à l'appel système |
| SIGPIPE | 13 | Ecrire sur un tube avec un pas de le lire |
| SIGALRM | 14 | Real-time timer expiré |
| SIGTERM | 15 | Logiciel de terminaison de signal |
| SIGURG | 16 | État d'urgence sur les I / O channel |
| SIGSTOP | 17 | Stop pas de signal de terminal |
| SIGTSTP | 18 | Stop signal de terminal |
| SIGCONT | 19 | Un arrêté processus se poursuit |
| SIGCHLD | 20 | Notification à la société mère de l'enfant ou de l'arrêt de sortie |
| SIGTTIN | 21 | Lire sur le terminal de processus d'arrière-plan |
| SIGTTOU | 22 | Ecrire au terminal de processus d'arrière-plan |
| SIGIO | 23 | I / O possible sur un descripteur |
| SIGXCPU | 24 | CPU délai dépassé |
| SIGXFSZ | 25 | File-dépassement de limite de taille |
| SIGVTALRM | 26 | Virtual timer expiré |
| SIGPROF | 27 | Profiling timer expiré |
| SIGWINCH | 28 | Changé la taille de la fenêtre |
| SIGINFO | 29 | Demande d'information |
| SIGUSR1 | 30 | Définis par l'utilisateur signal 1 |
| SIGUSR2 | 31 | Définis par l'utilisateur signal 2 |
| SIGTHR | 32 | Thread interrompre |
| Nom du signal | Nombre de signaux | Description des signaux |
|---|---|---|
| SIGHUP | 1 | Raccroche |
| SIGINT | 2 | Interrupts |
| SIGQUIT | 3 | Quits |
| SIGILL | 4 | Illegal instruction |
| SIGTRAP | 5 | Trace piège |
| SIGABRT | 6 | Utilisé par avorter |
| SIGEMT | 7 | EMT instruction |
| SIGFPE | 8 | Floating-point exception |
| SIGKILL | 9 | Kill (ne peut être pris ou ignorés) |
| SIGBUS | 10 | Bus erreur |
| SIGSEGV | 11 | Segmentation violation |
| SIGSYS | 12 | Bad argument à l'appel système |
| SIGPIPE | 13 | Écrit sur un tube avec un pas de le lire |
| SIGALRM | 14 | Réveil |
| SIGTERM | 15 | Logiciel de résiliation |
| SIGUSR1 | 16 | Définis par l'utilisateur signal 1 |
| SIGUSR2 | 17 | Définis par l'utilisateur signal 2 |
| SIGCHLD | 18 | Changement de statut des enfants alias (POSIX) |
| SIGPWR | 19 | Power-ne pas redémarrer |
| SIGWINCH | 20 | Changer la taille de la fenêtre |
| SIGURG | 21 | Prise de l'état d'urgence |
| SIGPOLL / SIGIO | 22 | Pollable s'est produit ou Socket I / O possible |
| SIGSTOP | 23 | Stop (ne peut être pris ou ignorés) |
| SIGTSTP | 24 | L'utilisateur a demandé l'arrêt de ATS |
| SIGCONT | 25 | Processus a été arrêté suite |
| SIGTTIN | 26 | Contexte ATS lire tenté |
| SIGTTOU | 27 | Contexte ATS tenté d'écrire |
| SIGVTALRM | 28 | Virtual timer expiré |
| SIGPROF | 29 | Profiling timer expiré |
| SIGXCPU | 30 | CPU limite dépassée |
| SIGXFSZ | 31 | Dépassement limite de taille de fichier |
| SIGWAITING | 32 | Processus LWPs sont bloqués |
| SIGLWP | 33 | Signal spécial utilisé par les bibliothèque de threads |
| SIGFREEZE | 34 | Signal spécial utilisé par le CFCP |
| SIGTHAW | 35 | Signal spécial utilisé par le CFCP |
| SIGCANCEL | 36 | Thread annulation du signal utilisé par libthread |
| SIGLOST | 37 | Ressources perdues |
| SIGRTMIN | 38 | La plus haute priorité en temps réel du signal |
| SIGRTMAX | 45 | Priorité la plus faible signal en temps réel |