Seite 1 von 1

system processe starten und überwachen / protokollien?

Verfasst: Mittwoch 18. Oktober 2006, 21:56
von MoR4euZ
hallo

habe mich gerade erst im forum angemeldet und habe fragen über fragen ;)

ich würde gerne eine gamestatistik wie bei xfire (www.de.xfire.com) coden

am liebsten mit python
literatur ist schon bestellt :)

dafür muss ich system processe (erstmal nur windows) starten und überwachen können

aus der python library reference werde ich nicht so wirklich schlau :(
das meiste brauchbare ist ja nur für unix vorhanden richtig?

oder kann ich brauchbaren C code importieren?

http://www.python-forum.de/viewtopic.php?p=46999
dieser thread hatt mich gerade etwas geschockt sorry ;)

ich hoffe das ich einpaar hilfreiche antworten erhalten werde

danke :D

Re: system processe starten und überwachen / protokollien?

Verfasst: Mittwoch 18. Oktober 2006, 22:24
von BlackJack
MoR4euZ hat geschrieben:dafür muss ich system processe (erstmal nur windows) starten und überwachen können

aus der python library reference werde ich nicht so wirklich schlau :(
das meiste brauchbare ist ja nur für unix vorhanden richtig
Starten ist mit `os.system()` oder dem `subprocess` Modul weitgehend plattformunabhängig möglich.

Ich weiss nicht ganz genau was Du machen willst, aber ein Programm starten und messen wie lange es gelaufen ist, sollte zum Beispiel so möglich sein:

Code: Alles auswählen

import os
import time

def main():
    start_time = time.time()
    os.system('kwrite')
    running_time = time.time() - start_time
    print ('Das Programm lief %d Minuten und %d Sekunden.'
           % divmod(running_time, 60))

if __name__ == '__main__':
    main()

Verfasst: Mittwoch 18. Oktober 2006, 22:59
von MoR4euZ
du hast ja keine ahnung wie glücklich mich diese 12 zeilen quellcode machen ;)

meine begeisterung und motivation was python angeht steigt tag für tag hrhr

vielen dank

die tage kommt mein python buch dann gehts richtig los :D

Verfasst: Montag 23. Oktober 2006, 18:00
von MoR4euZ
Ich habe jetzt mal zeit gefunden und habe weiter ausprobiert und die fragezeichen werden leider immer mehr nicht weniger :(


3 fragen quälen mich am meisten :D

-wie bekomme ich die path variable in os.system()? (ähnlich wie bei der time?)
-wie muss der divmod lauten wen ich auch stunden mit drin haben will?
-wie bekomme ich die printausgabe aus der main in mein cfgfile?


pyfire.py

Code: Alles auswählen

import os
import time
import ConfigParser

cfg = file('./pyfire.cfg', 'r')
config = ConfigParser.ConfigParser()
config.readfp(cfg)
cfg.close()

global path
path = config.get('process', 'calc')

def main():
    start_time = time.time()
    os.system(r'path')
    running_time = time.time() - start_time
    print ('Das Programm lief x Stunden, %d Minuten und %d Sekunden.'
           % divmod(running_time, 60))

if __name__ == '__main__':
    main()

pyfire.cfg

Code: Alles auswählen

[process]
calc = c:\windows\system32\calc.exe
ich fummel mal weiter
wäre für hilfe sehr dankbar :)

Verfasst: Montag 23. Oktober 2006, 18:14
von murph
naja, für den configparser siehe http://docs.python.org/lib/module-ConfigParser.html

sonst würde ich das stunden/minuten/sekundenproblem lösen, indem ich

Code: Alles auswählen

h, tmp_sec = divmod(time, 3600)
min, sec = divmod(tmp_sec, 60)

Verfasst: Montag 23. Oktober 2006, 18:27
von BlackJack
MoR4euZ hat geschrieben:-wie bekomme ich die path variable in os.system()? (ähnlich wie bei der time?)
Erstmal das ``global`` rausnehmen, das hat auf Modulebene keine Wirkung. Und dann vergisst Du am besten erst einmal das es ``global`` überhaupt gibt.

Und dann musst Du beim Aufruf von `os.system()` einfach den Namen an den der Pfad gebunden ist hinschreiben. Also einfach ``os.system(path)``.

Verfasst: Montag 23. Oktober 2006, 21:11
von MoR4euZ
ohje was peinlich :oops:

ich hatte die syntax so drin aber zu diesem zeitpunkt muss wo anders ein fehler gewesen sein :(

das war zu offentsichlich sorry ;)

für heute habe ich kein bock mehr nenene
ich lese mal bischel in meinem python buch weiter sonst wird das nie was hrhrhr

danke und gute nacht