18 votes

Que fait -HUP lorsqu'il est utilisé avec killall ?

Parfois, lorsque j'exécute un killall à partir de Terminal, un collègue de travail suggérerait ou modifierait mes scripts pour afficher killall -HUP .

Que fait le -HUP part faire ?

24voto

shsteimer Points 8749

Le site -HUP est le signal qui est envoyé aux processus par l'option killall commande. Il est parfois difficile de s'en rendre compte, mais l'entrée correspondante dans la section killall manuel est :

-SIGNAL     Send a different signal instead of the default TERM.  The signal may be specified
            either as a name (with or without a leading SIG), or numerically.

La différence entre la valeur par défaut TERM signal qui killall envoie et le HUP dépend largement du programme auquel vous envoyez le signal. À la fin du programme, ils reçoivent une valeur de signal d'interruption différente. Ainsi, le programme peut attraper les interruptions et décider, en fonction de la valeur, s'il doit faire une chose ou l'autre.

Le site TERM (historiquement le "signal de terminaison") est généralement envoyé à un programme pour demander sa terminaison (ce qui est une version plus polie de forcer sa résiliation avec le KILL signal). Le programme est libre d'attraper et d'ignorer le TERM signal. Il n'est pas obligé de se terminer s'il ne le veut pas et il peut complètement ignorer ce signal.

Le site HUP (historiquement le "signal d'arrêt") est généralement envoyé à un programme pour lui demander de redémarrer et de relire toute sa configuration dans le processus. Le comportement réel du programme dépend de l'implémentation spécifique du programme. Tous les programmes ne captent pas HUP et ils ne sont pas obligés de le faire par convention ou par dogme. Par exemple, le serveur web Apache attrapera un fichier HUP et relire tous ses fichiers de configuration mais il ne redémarre aucun processus.

Si vous voulez vraiment mettre fin aux processus et ne pas vous inquiéter de savoir s'ils vont attraper et obéir au signal, utilisez la fonction KILL signal. Il ne peut pas être attrapé ou ignoré et entraîne la fin du processus.

Pour une bonne revue des signaux POSIX disponibles voir cet article de Wikipedia .

2voto

Tech29 Points 151

Le site -HUP est le signal de "suspension" qui peut déclencher l'arrêt d'une application, la lecture de son fichier de configuration, puis son redémarrage. Ce n'est pas nécessairement mieux que de l'utiliser sans.

killall Finder

et

killall -HUP Finder

sont respectueusement les mêmes. Sous OS X, le Finder sera relancé, mais il relira son fichier de configuration. Ce n'est pas vraiment le cas si l'application en cours d'exécution n'a pas l'autorisation de l'utilisateur. -HUP intégrée. Comme l'affiche précédente a mentionné Apache. Il lit ses fichiers de configuration, mais il ne peut pas se relancer.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X