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
382 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!

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