Maison > développement back-end > Tutoriel Python > Comment exécuter des processus en arrière-plan détachés en Python ?

Comment exécuter des processus en arrière-plan détachés en Python ?

Mary-Kate Olsen
Libérer: 2024-12-13 09:36:17
original
719 Les gens l'ont consulté

How to Run Detached Background Processes in Python?

Comment lancer des processus en arrière-plan détachés en Python

L'exécution de processus en arrière-plan est cruciale pour les tâches de longue durée ou non interactives en Python . Le script shell d'origine utilisait l'opérateur "&" pour lancer des processus qui continueraient à s'exécuter même après la fin du script. En Python, pour obtenir un résultat similaire, il faut comprendre les démons et les modules appropriés pour la gestion des processus.

Utilisation du module de sous-processus

L'approche recommandée pour gérer les processus en arrière-plan en Python est le module de sous-processus. Bien que la solution de jkp soit fonctionnelle, le module de sous-processus offre plus de flexibilité et s'aligne sur les recommandations actuelles de la documentation.

Pour les commandes simples, l'utilisation du module de sous-processus imite l'opérateur "&" dans le script shell. Prenons l'exemple suivant pour démarrer un nouveau processus qui supprime un fichier en arrière-plan :

import subprocess
subprocess.Popen(["rm", "-r", "some.file"])
Copier après la connexion

Notes sur l'exécution

Appel de la méthode .communicate() sur le l'objet renvoyé par Popen bloquera le processus principal jusqu'à la fin du processus en arrière-plan. Si vous souhaitez que le processus en arrière-plan reste détaché, évitez d'appeler .communicate(). Voici une illustration de ce comportement :

import subprocess
ls_output = subprocess.Popen(["sleep", "30"])
ls_output.communicate()  # Blocks for 30 seconds
Copier après la connexion

Pour des cas d'utilisation plus avancés, la documentation des sous-processus fournit des conseils complets sur la gestion des processus, y compris la redirection d'entrée/sortie et la gestion des erreurs.

Cela mérite d'être clarifié. cet « arrière-plan » dans ce contexte fait référence au concept shell d'exécution d'un processus sans bloquer son exécution, plutôt qu'au véritable concept de processus démon au sens du système d'exploitation.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal