ich habe folgenden Code:
Code: Alles auswählen
class Thread(threading.Thread):
def __init__(self, argtupel, logfile, timelog):
threading.Thread.__init__(self)
....
def run(self):
....
foundfailure = 0
while foundfailure != -1:
# Call command
streamOut = os.pipe()
streamOut = os.popen("chdir " + folder)
streamOut = os.popen(command)
#if no success this message would be found
#else it cant be found = -1
output = streamOut.read()
print output
if output.find("error") != -1 or output.find("Failed") != -1:
foundfailure = 0
print "no license free"
# wait 10 sec, before starting a new try
time.sleep(10)
else:
foundfailure = -1
nun meine Probleme:
auf Win xp klappt es.
nur auf Win NT läuft das Programm einfach durch, d.h. streamOut = os.popen(command) erzeugt die Meldund dass keine Lizenz da ist, dennoch wird nicht foundfailure = 0 aufgerufen und er beendet diesen Thread.
print output
Auch dies gibt nichts zurück.
Was aber unter XP auch nicht klappt, irgendwie hab ich das Gefühl das liegt an den Threads ...
Letztendlich denke ich wird er vielleicht eine andere Pipe brauchen, oder?
mfg
Matthias