2012-06-19 15 views
11

Mam skrypt, który używa modułu zasobów z Pythona (zobacz informacje o http://docs.python.org/library/resource.html). Teraz chcę przenieść ten skrypt do systemu Windows. jest jakaś alternatywna wersja tego (Python-docs nazywają go "tylko Unix"). jeśli nie, czy istnieje inne obejście tego problemu?Korzystanie z zasobu w systemie Windows

używam następującą metodę/stałe:

resource.getrusage(resource.RUSAGE_CHILDREN) 
resource.RLIMIT_CPU 

Dziękuję

PS: Używam Pythona 2.7/3.2

Odpowiedz

2

Nie ma dobry sposób to zrobić za rodzajowo wszystkie "Zasoby" - dlatego jest to polecenie tylko dla systemu Unix. Tylko dla szybkości procesora można użyć kluczy rejestru do ustawienia limitu identyfikatora procesu:

http://technet.microsoft.com/en-us/library/ff384148%28WS.10%29.aspx Jak zrobić tutaj: http://code.activestate.com/recipes/286159/

WAŻNE: kopię zapasową rejestru przed próbuje coś z rejestru

Albo można ustawić priorytet wątku:

http://msdn.microsoft.com/en-us/library/ms685100%28VS.85%29.aspx Jak zrobić tutaj: http://nullege.com/codes/search/win32process.SetThreadPriority

W przypadku innych zasobów będziesz musiał złomować podobne interfejsy API dostępu do biblioteki DLL, aby osiągnąć pożądany efekt. Powinieneś najpierw zadać sobie pytanie, czy potrzebujesz tego zachowania. Często można ograniczyć czas pracy procesora, śpiąc wątek w działaniu w dogodnych momentach, aby umożliwić systemowi wymianę procesów, a sterowanie pamięcią można wykonać problematycznie, aby sprawdzić rozmiary struktur danych.

Powiązane problemy