Maison >développement back-end >Golang >Comment empêcher Systemd de tuer les processus enfants lorsque le processus principal se termine ?
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!