Uh, tatsächlich
Aber hey, ich bin unschuldig, das schiebe ich zu 100% auf Prüfungsstress Man, keine Ahnung wie ich das übersehen habe. D'oh!
Unterbrechen einer Endlosschleife nach einer Zeit X
okay -- ich glaub ich hab s - Lösung ist zwar nicht toll, funktioniert aber:
Ich hoffe nur, dass ich es auf mein Problem anwenden kann - in diesem Falle bin ich ja immerhin darauf angewiesen, dass meine Schleife durchläuft.
Wie also verfahren, wenn sich das Programm an einer Stelle einfach aufhängt, die Zeit nicht mehr heruntergezählt wird? Eine zweite (Sub)Shell öffnen und einen Watchdog parallel dazu programmieren der die Zeit korrekt misst?
Kann man sich in python die Zeit ausgeben lassen, wie lange ein Prozess mit der id x =os.getpid() schon läuft?
Mit os.system(top) hätte man so etwas schon fast an der Hand...
Code: Alles auswählen
import os
import time
from time import time
actual_process_id = os.getpid()
print actual_process_id, "ID of current process" # id of started process!
print "\n"
t0 = time()
delta = 100
counter = 0
while True:
actual_time = time()
counter = counter+1
print counter
print actual_time - t0, "Zeit"
if (actual_time-t0) > delta:
print "killing process "
os.kill(actual_process_id, 15)
Wie also verfahren, wenn sich das Programm an einer Stelle einfach aufhängt, die Zeit nicht mehr heruntergezählt wird? Eine zweite (Sub)Shell öffnen und einen Watchdog parallel dazu programmieren der die Zeit korrekt misst?
Kann man sich in python die Zeit ausgeben lassen, wie lange ein Prozess mit der id x =os.getpid() schon läuft?
Mit os.system(top) hätte man so etwas schon fast an der Hand...