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 № 1Beginnen 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)