wisst ihr vielleucht wie man einen Prozess, der mit subprocess gestartet wurde in python abbrechen kann? Gibt es einen Kill befehl oder ähnlich?
Hab in der API nichts gefunden...
Wäre sehr dankbar, wenn da jemand was wüsste...

Viele Grüße
Azami
Code: Alles auswählen
def kill(pid):
handle = win32api.OpenProcess(1, 0, pid)
print str((0 != win32api.TerminateProcess(handle, 0)))
return (0 != win32api.TerminateProcess(handle, 0))
def init_process():
#startet programm.exe und beendet es wieder nach 5 Sekunden
pz1 = subprocess.Popen('programm.exe')
kill(pz1.pid)
Code: Alles auswählen
prozess = subprocess.Popen('C:\\Programme\\Mozilla Firefox\\firefox.exe')
subprocess.Popen(['taskkill', prozess.pid])
Habe ich mich auch öfter schon gefragt. Schließlich bietet die API das durchaus an, wenn auch nicht unter diesem Namen.jens hat geschrieben:os.kill() wird unter Windows nicht unterstützt. Warum eigentlich nicht?
Code: Alles auswählen
myProcess.pid.terminate()
Das funktioniert erstens nur mit Prozessen die du selbst über ``subprocess.Popen`` gestartet hast und zweitens erst ab Python 2.6.azami1986 hat geschrieben:Das funktioniert irgendwie nicht??
Code: Alles auswählen
myProcess = subprocess.Popen('test.exe')
myProcess.terminate()
Standardmäßig nicht.azami1986 hat geschrieben:Hallo Leute,
wisst ihr vielleucht wie man einen Prozess, der mit subprocess gestartet wurde in python abbrechen kann? Gibt es einen Kill befehl oder ähnlich?
Hab in der API nichts gefunden...
Wäre sehr dankbar, wenn da jemand was wüsste...![]()
Ups, ja.jens hat geschrieben:Sieht spontan nach linux-only ausQubit hat geschrieben:Aber schau dir mal die proctools von pycopia an
Weil diese Funktionalität auf Windows-Systemen nicht existiert. "os.kill()" ist – trotz seines Namens – keine Funktion zum Töten von Prozessen, sondern lediglich zum Senden von Signalen. Man mittels os.kill auch ganz andere Dinge vollführen, wie z.B. per "os.kill(pid, signal.SIGUSR1)" Dienste dazu bewegen, ihre Konfiguration neu einzulesen oder per "os.kill(pid, signal.SIGSTOP)" Prozesse anhalten.jens hat geschrieben:os.kill() wird unter Windows nicht unterstützt. Warum eigentlich nicht?