Parfois, lorsque j'exécute une killallcommande à partir de Terminal, un collègue suggère ou modifie mes scripts à afficher killall -HUP.
Que fait la -HUPpièce?
Parfois, lorsque j'exécute une killallcommande à partir de Terminal, un collègue suggère ou modifie mes scripts à afficher killall -HUP.
Que fait la -HUPpièce?
Réponses:
L' -HUPoption est le signal envoyé aux processus par la killallcommande. Cela peut être un peu difficile à dire, mais l'entrée pertinente dans le killallmanuel 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 TERMsignal par défaut qui killallenvoie et le HUPsignal 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 TERMsignal (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 KILLsignal). Le programme est libre d'attraper et d'ignorer le TERMsignal. Il n'a pas à se terminer s'il ne le souhaite pas et il peut ignorer complètement ce signal.
Le HUPsignal (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 HUPet ils ne sont pas tenus de le faire par convention ou dogme. Par exemple, le serveur Web Apache captera un HUPsignal 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 KILLsignal. 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 .
#FAILgens qui n'ont jamais lu après les commutateurs. Je vous remercie!
C'est -HUPle 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 -HUPfonction 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.