Maison > Article > Opération et maintenance > Quels signaux Linux a-t-il ?
Les signaux Linux incluent : 1. SIGHUP, utilisé pour arrêter le processus immédiatement, puis relire le fichier de configuration puis redémarrer ; 2. SIGINT, le signal d'abandon du programme, utilisé pour terminer le processus de premier plan ; signal de sortie du programme ; 4. SIGFPE, émis lorsqu'une erreur fatale d'opération arithmétique se produit ; 5. SIGKILL, utilisé pour terminer immédiatement l'exécution du programme ; 6. SIGALRM, signal de synchronisation d'horloge ; 7. SIGTERM, signal pour terminer le processus normalement ; 8. SIGCONT; 9. SIGSTOP, etc.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
Que sont les signaux sous Linux
La gestion des processus fait principalement référence à la fermeture et au redémarrage des processus. Lorsque nous fermons ou redémarrons généralement un logiciel, nous fermons ou redémarrons son programme, plutôt que d'opérer directement le processus. Par exemple, pour redémarrer le service Apache, utilisez généralement la commande "service httpd restart" pour redémarrer le programme Apache.
Alors, Apache peut-il être arrêté ou redémarré en gérant directement le processus ? La réponse est oui, alors il faut se fier au signal du processus (Signal). Nous devons donner un numéro au processus et lui dire ce que nous voulons qu'il fasse.
Les signaux sont très importants dans le système d'exploitation Linux. Les signaux peuvent être générés à partir du clavier, générés par des conditions logicielles ou générés en appelant des exceptions matérielles. Il existe un total de 64 signaux dans Linux générés à partir d'appels de fonctions système. Les utilisateurs de Linux peuvent les visualiser via kill -l, comme suit
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
Les 32 premiers types sont appelés signaux non fiables. Ils sont généralement utilisés lorsque le logiciel ne prend pas en charge la mise en file d'attente. Les 32 types sont appelés signaux fiables et sont généralement utilisés pour prendre en charge la mise en file d'attente dans le matériel.
Signaux communs sous Linux
Code du signal | Nom du signal | Description |
---|---|---|
1 | SIGHUP | Ce signal provoque l'arrêt immédiat du processus. Puis relisez la configuration après le redémarrage du fichier |
2 | SIGINT | Signal d'abandon du programme, utilisé pour terminer le processus de premier plan. Équivalent à la touche de raccourci de sortie Ctrl+C |
3 | SIGQUIT | Signal de sortie du programme (identique à Ctrl +) |
8 | SIGFPE | Émis lorsqu'une erreur fatale d'opération arithmétique se produit. Il inclut non seulement les erreurs d'opération en virgule flottante, mais également toutes les autres erreurs d'opération arithmétique telles que le débordement et la division par 0. |
9 | SIGKILL | est utilisé pour terminer le programme immédiatement. Ce signal ne peut pas être bloqué, traité ou ignoré. Généralement utilisé pour terminer de force le processus |
14 | SIGALRM | signal de synchronisation d'horloge, qui calcule l'heure réelle ou l'heure de l'horloge. La fonction d'alarme utilise ce signal |
15 | SIGTERM | pour terminer le processus normalement et constitue le signal par défaut de la commande kill. Si un problème est survenu dans le processus, alors ce signal ne peut pas terminer le processus normalement. Ce n'est qu'alors que nous essaierons le signal SIGKILL, qui est le signal 9 |
18 | SIGCONT | . processus. Ce signal ne peut pas être bloqué |
19 | SIGSTOP | Ce signal peut suspendre le processus de premier plan, ce qui équivaut à saisir la touche de raccourci Ctrl+Z. Ce signal ne peut pas être bloqué |
Les signaux KILL, STOP ne peuvent pas être bloqués, ignorés ou capturés.
Terme signifie mettre fin au processus. Core signifie mettre fin au processus et vider le noyau. Stop suspend le thread, Cont reprend le thread suspendu.
Utilisations courantes des signaux communs
SIGHUP
Ce signal est émis lorsque la connexion du terminal utilisateur (normale ou anormale) se termine, généralement lorsque le processus de contrôle du terminal se termine, pour notifier divers travaux au cours de la même session, à à ce stade, ils ne sont plus associés au terminal de contrôle.
Lors de la connexion à Linux, le système attribuera une session de terminal à l'utilisateur connecté. Tous les programmes exécutés dans ce terminal, y compris le groupe de processus de premier plan et le groupe de processus d'arrière-plan, appartiennent généralement à cette session. Lorsque l'utilisateur se déconnecte de Linux, le groupe de processus de premier plan et le processus d'arrière-plan qui envoient une sortie au terminal recevront le signal SIGHUP.
L'opération par défaut de ce signal est de terminer le processus, donc après la déconnexion, les processus avant et arrière et les processus avec sortie du terminal en arrière-plan seront terminés.
Mais vous pouvez capturer ce signal. Par exemple, wget peut capturer le signal SIGHUP et l'ignorer. De cette façon, wget peut continuer le téléchargement même si vous vous déconnectez de Linux.
De plus, pour un démon déconnecté du terminal, ce signal est utilisé pour lui notifier de relire le fichier de configuration.
Par exemple, envoyer un signal HUP au processus nginx peut actualiser la configuration.
SIGINT : signal de fin de programme (interruption), émis lorsque l'utilisateur tape le caractère INTR (généralement Ctrl-C), utilisé pour avertir le groupe de processus de premier plan de terminer le processus.
SIGQUIT : similaire à SIGINT, mais contrôlé par le caractère QUIT (généralement Ctrl-). Le processus générera un fichier core lors de la sortie en raison de la réception de SIGQUIT, ce qui est similaire à un signal d'erreur de programme dans ce sens.
SIGTERM :
Signal de fin de programme (terminé). Contrairement à SIGKILL, ce signal peut être bloqué et traité. Il est généralement utilisé pour exiger que le programme se termine normalement de lui-même, permettant au processus d'effectuer le travail de nettoyage nécessaire avant de quitter.
La commande shell kill génère ce signal par défaut. Si le processus ne peut pas être terminé, nous essaierons SIGKILL.
SIGTERM permet au processus de se terminer correctement. Si le processus lui-même n'est pas fluide, utilisez SIGKILL pour l'aider à se terminer correctement.
SIGCONT : Laisser un processus arrêté continuer à s'exécuter. Ce signal ne peut pas être bloqué. Vous pouvez utiliser un gestionnaire pour laisser le programme terminer un travail spécifique lorsqu'il passe de l'état arrêté pour continuer l'exécution.
SIGSTOP : arrête l'exécution du processus. Notez qu'il est différent de terminer et d'interrompre : le processus n'est pas encore terminé, mais l'exécution est suspendue. Ce signal ne peut pas être bloqué, traité ou ignoré
. La touche de raccourci Signal couramment utilisée
ctrl-c envoie le signal SIGINT à tous les processus du groupe de processus de premier plan. Souvent utilisé pour terminer un programme en cours d'exécution.
ctrl-z envoie le signal SIGTSTP à tous les processus du groupe de processus de premier plan, souvent utilisé pour suspendre un processus.
ctrl-d n'envoie pas de signal, mais représente une valeur binaire spéciale, indiquant EOF.
ctrl- Envoyez le signal SIGQUIT à tous les processus du groupe de processus de premier plan, terminez le processus de premier plan et générez des fichiers principaux.
Clé | Fonction |
---|---|
Ctrl-c Ctrl-c
|
Kill foreground process |
Ctrl-z |
Suspend foreground process |
Ctrl-d |
Terminate input, or exit shell |
Ctrl-s |
Suspend output |
Ctrl-q |
Resume output |
Ctrl-o |
Discard output |
Ctrl-l | Tuer le processus de premier plan
Suspendre le premier plan processus
Ctrl-d
🎜🎜Terminer la saisie ou quitter le shell🎜🎜🎜🎜Ctrl-s
🎜🎜Suspendre la sortie🎜🎜🎜🎜Ctrl- q
🎜🎜Reprendre la sortie🎜🎜🎜🎜Ctrl-o
🎜🎜Annuler la sortie🎜🎜🎜🎜Ctrl-l
🎜🎜Effacer l'écran🎜🎜🎜🎜🎜 Recommandations associées : "🎜Tutoriel vidéo Linux🎜"🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!