2 votes

Pourquoi killall (parfois ?) doit-il être appliqué deux fois ?

Pourquoi killall doit-il (parfois ?) être appliqué deux fois ? Voici un exemple ejemplo où un "double" killall est nécessaire pour terminer le processus.

Quand et pourquoi un processus doit-il être tué "deux fois" ? Que se passe-t-il sous le capot ?

2voto

heemayl Points 85741

Je vais énoncer une possibilité spécifique à l'application.

Lorsque vous utilisez killall program , a SIGTERM (signal 15) est envoyé au programme. La réponse habituelle à SIGTERM est que le programme se termine de façon élégante.

Maintenant que le SIGTERM est capturable, un programme peut avoir un gestionnaire de signal pour SIGTERM qui effectuerait une tâche en recevant le premier SIGTERM (première killall ) et revenir à un état où le second SIGTERM mettrait simplement fin à l'opération (action par défaut). Cela dépend fortement du développeur du programme bien sûr et n'est pas un cas général.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X