Maison >développement back-end >Golang >Comment empêcher Systemd de tuer les processus enfants lorsque le processus principal se termine ?

Comment empêcher Systemd de tuer les processus enfants lorsque le processus principal se termine ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-24 19:17:10741parcourir

How to Prevent Systemd from Killing Child Processes When the Main Process Exits?

Dissocier les processus enfants du processus Systemd principal

Lors de la génération de processus enfants à partir d'un processus principal, il est crucial de s'assurer que les processus enfants restent actifs même lorsque le processus principal est terminé. Ce comportement est particulièrement souhaitable lors de la gestion de tâches en arrière-plan de longue durée.

Dans votre scénario spécifique, vous souhaitez détacher les processus enfants du processus principal (exectest) lorsqu'il est démarré à partir du gestionnaire de services systemd. Cependant, vous avez observé que les processus enfants se terminent en même temps que le processus principal.

La solution réside dans la modification du fichier de configuration systemd (/etc/systemd/system/exectest.service) pour inclure la ligne suivante :

KillMode=process

Par défaut, systemd applique un mode de suppression « groupe de contrôle », qui met fin à tous les processus enfants au sein du groupe de contrôle du processus principal à la fin. En le remplaçant par "processus", vous demandez à systemd de tuer uniquement le processus principal lui-même, en laissant les processus enfants intacts.

Cette modification garantit que les processus enfants continuent de s'exécuter et survivent à l'arrêt ou au redémarrage du processus principal. processus, même lorsqu'il est démarré depuis systemd.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn