Parfois, lorsque j'exécute une killall
commande à partir de Terminal, un collègue suggère ou modifie mes scripts à afficher killall -HUP
.
Que fait la -HUP
pièce?
Parfois, lorsque j'exécute une killall
commande à partir de Terminal, un collègue suggère ou modifie mes scripts à afficher killall -HUP
.
Que fait la -HUP
pièce?
Réponses:
L' -HUP
option est le signal envoyé aux processus par la killall
commande. Cela peut être un peu difficile à dire, mais l'entrée pertinente dans le 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 le TERM
signal par défaut qui killall
envoie et le HUP
signal dépend en grande partie du programme auquel vous envoyez le signal. A la fin du programme, ils reçoivent une valeur de signal d'interruption différente. Le programme peut donc intercepter les interruptions et décider, en fonction de la valeur, s'il doit faire une chose ou l'autre.
Le TERM
signal (historiquement le "signal de terminaison") est généralement envoyé à un programme pour demander sa terminaison (qui est une version plus polie de forcer sa terminaison avec le KILL
signal). Le programme est libre d'attraper et d'ignorer le TERM
signal. Il n'a pas à se terminer s'il ne le souhaite pas et il peut ignorer complètement ce signal.
Le HUP
signal (historiquement le "signal de raccrochage") 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 la mise en œuvre spécifique au programme. Tous les programmes n'attrapent pas HUP
et ils ne sont pas tenus de le faire par convention ou dogme. Par exemple, le serveur Web Apache captera un HUP
signal et relira tous ses fichiers de configuration, mais il ne redémarrera 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 le KILL
signal. Il ne peut pas être intercepté ou ignoré et entraîne l'arrêt du processus.
Pour un bon examen des signaux POSIX disponibles, consultez cet article Wikipedia .
#FAIL
gens qui n'ont jamais lu après les commutateurs. Je vous remercie!
C'est -HUP
le signal "raccrocher" qui peut déclencher la fermeture d'une application, lire son fichier de configuration, puis recommencer. Ce n'est pas nécessairement mieux que de l'utiliser sans.
killall Finder
et
killall -HUP Finder
Sont respectueusement les mêmes. Dans OS X Finder va relancer, mais il relira son fichier de configuration. Ce n'est peut-être pas vraiment le cas si l'application en cours d'exécution n'a pas de -HUP
fonction intégrée. Comme l'a mentionné l'affiche précédente, Apache. Il lit ses fichiers de configuration, mais il ne peut pas se relancer.