Seite 1 von 1

Verfasst: Mittwoch 28. Mai 2008, 08:41
von Leonidas
Uh, tatsächlich :oops:

Aber hey, ich bin unschuldig, das schiebe ich zu 100% auf Prüfungsstress :D Man, keine Ahnung wie ich das übersehen habe. D'oh!

Verfasst: Donnerstag 5. Juni 2008, 14:13
von acidk
okay -- ich glaub ich hab s - Lösung ist zwar nicht toll, funktioniert aber:

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)
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...

Verfasst: Donnerstag 5. Juni 2008, 14:26
von jens
Würde aber in der while Schleife ein time.sleep() einbauen ;) Vielleicht mit 0.1 oder höher...