Heim >Backend-Entwicklung >Python-Tutorial >Wie leitet man Befehle im Python-Modul „subprocess' weiter?

Wie leitet man Befehle im Python-Modul „subprocess' weiter?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 16:20:13330Durchsuche

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

So leiten Sie Befehle mit dem Unterprozess von Python weiter

Frage: Wie kann ich subprocess.check_output() mit a verwenden Pipe-Befehl wie ps -A | grep 'process_name'?

Antwort:

Die Verwendung von Pipes mit dem Subprocess-Modul ist möglich, es wird jedoch empfohlen, „shell=True“ aus Sicherheitsgründen mit Vorsicht zu verwenden. Erwägen Sie stattdessen, die ps- und grep-Prozesse zu trennen und ihre Ausgabe weiterzuleiten:

ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE)
output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout)
ps.wait()

In diesem speziellen Fall besteht eine einfachere Lösung jedoch darin, subprocess.check_output(('ps', '-A') aufzurufen. ) und führen Sie str.find für die Ausgabe aus.

Das obige ist der detaillierte Inhalt vonWie leitet man Befehle im Python-Modul „subprocess' weiter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn