Maison > développement back-end > Tutoriel Python > Comment canaliser les commandes dans le module « sous-processus » de Python ?

Comment canaliser les commandes dans le module « sous-processus » de Python ?

Mary-Kate Olsen
Libérer: 2024-12-13 16:20:13
original
338 Les gens l'ont consulté

How to Pipe Commands in Python's `subprocess` Module?

Comment canaliser des commandes à l'aide du sous-processus de Python

Question : Comment puis-je utiliser subprocess.check_output() avec un commande pipe telle que ps -A | grep 'process_name'?

Réponse :

L'utilisation de tuyaux avec le module de sous-processus est possible, bien qu'il soit conseillé d'utiliser shell=True avec prudence en raison de problèmes de sécurité. Au lieu de cela, envisagez de séparer les processus ps et grep et de rediriger leur sortie :

ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE)
output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout)
ps.wait()
Copier après la connexion

Cependant, dans ce cas particulier, une solution plus simple consiste à invoquer subprocess.check_output(('ps', '-A') ) et exécutez str.find sur la sortie.

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