Maison > développement back-end > Golang > Comment puis-je maintenir les processus enfants en cours d'exécution après l'arrêt d'un service Systemd ?

Comment puis-je maintenir les processus enfants en cours d'exécution après l'arrêt d'un service Systemd ?

DDD
Libérer: 2024-12-25 16:06:19
original
207 Les gens l'ont consulté

How Can I Keep Child Processes Running After a Systemd Service Stops?

Systemd : Détachement des processus enfants

Lors du démarrage d'un processus de longue durée à partir du terminal, vous souhaiterez peut-être que les processus enfants persistent même si le le processus principal redémarre ou se termine. Bien que cela soit réalisable avec une exécution manuelle, cela devient problématique lors de l'exécution du processus principal en tant que service systemd.

Dans systemd, la méthode de terminaison par défaut du processus enfant se fait via le groupe de contrôle, ce qui entraîne la fin de tous les processus enfants. à la fin du processus parent. Pour éviter cela, vous pouvez spécifier KillMode=process dans la configuration du service.

Voici comment l'implémenter pour l'exemple donné :

[Unit]
Description=ExecTest

[Service]                        
Type=simple
ExecStart=/home/snowm/src/exectest/exectest
User=snowm
KillMode=process

[Install]
WantedBy=multi-user.target
Copier après la connexion

En définissant KillMode=process, vous demandez à systemd de terminer uniquement le processus principal à la fin du service. Cela permet aux processus enfants de continuer à s'exécuter même après l'arrêt du processus parent.

Veuillez noter que cette approche n'affecte que les processus enfants créés lors de l'exécution du processus principal. Les processus créés auparavant seront toujours terminés à la fin du processus principal.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal