Ich wollte einen thread im Hintergrund starten, der mir Prozesse überwacht. Sobald ich jedoch wmi mit drin habe bekomme ich Fehlermedungen.
In dem code unten kann ich getProc() ohne Probleme aufrufen, jedoch nicht aus dem thread heraus.
Hat jemand eine Ahnung ob sich das Problem lösen lässt?
Code: Alles auswählen
from threading import Thread
import time
import wmi
def getProc():
c = wmi.WMI()
for process in c.Win32_Process():
print process
class ProcThread(Thread):
def __init__(self):
Thread.__init__(self)
self.runForever = True
def run(self):
while self.runForever:
print "Executing nix..."
getProc()
time.sleep(10)
def stop(self):
print "Stopping thread"
self.runForever = False
getProc()
pt = ProcThread()
pt.start()
time.sleep(60)
Code: Alles auswählen
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Ambient\Python\lib\threading.py", line 462, in __bootstrap
self.run()
File "C:\svn\render\renderfarm\src\threadTest.py", line 20, in run
getProc()
File "C:\svn\render\renderfarm\src\threadTest.py", line 7, in getProc
c = wmi.WMI()
File "C:\Ambient\Python\lib\wmi.py", line 1190, in connect
handle_com_error (error_info)
File "C:\Ambient\Python\lib\wmi.py", line 189, in handle_com_error
raise x_wmi, "\n".join (exception_string)
x_wmi: -0x7ffbfe1c - Ungültige Syntax