/ / python - Wie erstelle ich einen Unterprozess? - Python, Teilprozess

Python - Wie erstelle ich einen Subprozess? - Python, Subprozess

Ich möchte einen Teilprozess eines Prozesses erstellen.

Kann mir jemand ein Arbeitsbeispiel geben, in dem gezeigt wird, wie das zu erreichen ist?

Antworten:

5 für die Antwort № 1

Beginnen Sie mit dem Unterprozess Dokumentation.

Wenn Sie die Ausgabe erhalten möchten:

>>> import subprocess
>>> output = subprocess.Popen(["uname", "-a"], stdout=subprocess.PIPE).communicate()[0]
>>> output
"Linux"

Wenn Sie nur die Ausgabe aufrufen möchten und sich nicht damit befassen

>>> subprocess.call(["echo", "Hi"])
Hi
0

subprocess.check_call ist das selbe, außer dass es einen wirft CalledProcessError falls der Befehl mit ungültigen Parametern aufgerufen wird.

EIN gutes Unterprozess-Tutorial.


1 für die Antwort № 2
import subprocess

subprocess.call(["echo", "hello world"])

1 für die Antwort № 3

Subprozess starten und überwachen:

import subprocess, time, os, signal
args=["/usr/bin/vmstat","-n","2"]
app=subprocess.Popen(args=args, stdout=open("somefile","w"))
print "Your app"s PID is %s. You can now process data..." % app.pid
time.sleep(5)
if app.poll() == None: print "Process is still running after 5s."
print "The app outputed %s bytes." % len(open("somefile","r").read())
print "Stopping the process..."
os.kill(app.pid, signal.SIGTERM)

Da ist noch mehr drin. Überprüfen Sie einfach die Popen Dokumente


0 für die Antwort № 4
if os.name == "nt":
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess._subprocess.STARTF_USESHOWWINDOW
subprocess.call(os.popen(tempFileName), shell=True)
os.remove(tempFileName)