1 votes

Comment faire en sorte qu'un service systemd s'arrête avant sa fin de coredump

Nous avons un service systemd A pour notre application. Et nous avons un programme séparé dans la même machine pour surveiller le statut du service A. Si A est arrêté, ce programme de surveillance peut aider à rediriger la demande de l'utilisateur vers une autre machine.

Toutefois, lorsque le noyau du service A est vidé en raison d'un bogue logiciel, le vidage des états de la mémoire peut prendre beaucoup de temps. Pendant cette période, le service A est toujours considéré comme vivant et la redirection de la demande ne peut pas avoir lieu. Cela affecte la réactivité de notre application.

Existe-t-il un moyen de configurer l'arrêt du service avant la fin du core dump ? Nous ne voulons pas désactiver le core dump pour une utilisation de débogage.

1voto

Chaoxiang N Points 1198

Selon moi, la meilleure solution consiste à améliorer le programme des moniteurs.

Si vous ne vérifiez que le nom du processus dans la liste des pid, alors ce n'est pas suffisant.

Au lieu de cela, changez le programme de surveillance pour qu'il se comporte comme un client de l'application A, et faites une action très rapide et simple dans l'application A pour être vraiment sûr qu'elle est opérationnelle, et si ce n'est pas le cas, redirigez immédiatement les utilisateurs vers une autre instance de l'application A.

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