2012-06-19 16 views
11

Tengo un script que usa el módulo de recursos de python (ver http://docs.python.org/library/resource.html para obtener información). Ahora quiero portar este script a Windows. ¿hay alguna versión alternativa de esto (los documentos de python lo etiquetan como "unix solamente"). si no lo hay, ¿hay alguna otra solución?Uso de recursos en Windows

estoy usando el siguiente método/constante:

resource.getrusage(resource.RUSAGE_CHILDREN) 
resource.RLIMIT_CPU 

Gracias

PS: Estoy usando Python 2,7/3,2

Respuesta

2

No hay una buena manera de hacer esto de forma genérica para todos los "Recursos" "- por lo tanto, es solo un comando de Unix. Para la velocidad de la CPU, solo puede usar claves de registro para establecer el límite de id del proceso:

http://technet.microsoft.com/en-us/library/ff384148%28WS.10%29.aspx como se ha hecho aquí: http://code.activestate.com/recipes/286159/

IMPORTANTE: copia de seguridad del registro antes de intentar cualquier cosa con el registro

O puede establecer la prioridad del hilo:

http://msdn.microsoft.com/en-us/library/ms685100%28VS.85%29.aspx como se ha hecho aquí: http://nullege.com/codes/search/win32process.SetThreadPriority

Para otros recursos, deberá eliminar API de acceso DLL similares para lograr el efecto deseado. Primero debe preguntarse si necesita este comportamiento. A menudo, puede limitar el tiempo de CPU al poner el hilo en funcionamiento en los momentos convenientes para permitir que el sistema operativo intercambie procesos y los controles de memoria se pueden realizar de forma problemática para verificar los tamaños de la estructura de datos.