¿Hay alguna forma de obtener el estado del sistema en python, por ejemplo, la cantidad de memoria libre, los procesos que se están ejecutando, la carga de la CPU, etc. Sé en linux que puedo obtener esto desde el directorio/proc, pero me gustaría hacer esto en Unix y Windows también.Obtención del estado del sistema en python
Respuesta
no sé de cualquier biblioteca/paquete que actualmente es compatible con Linux y Windows. Hay libstatgrab que no parece estar muy desarrollado (aunque ya admite una variedad decente de plataformas Unix) y el muy activo PSI (Python System Information) que funciona en AIX, Linux, SunOS y Darwin. Ambos proyectos apuntan a tener soporte de Windows en algún momento en el futuro. Buena suerte.
No creo que hay una biblioteca multiplataforma para eso (hay sin duda debe ser uno, aunque)
que sin embargo se puede proporcionar con un fragmento que utiliza para obtener la carga actual de la CPU de bajo /proc/stat
Linux:
Editar: reemplazado código indocumentado horrible, con un poco más de código Pythonic y documentado
import time
INTERVAL = 0.1
def getTimeList():
"""
Fetches a list of time units the cpu has spent in various modes
Detailed explanation at http://www.linuxhowtos.org/System/procstat.htm
"""
cpuStats = file("/proc/stat", "r").readline()
columns = cpuStats.replace("cpu", "").split(" ")
return map(int, filter(None, columns))
def deltaTime(interval):
"""
Returns the difference of the cpu statistics returned by getTimeList
that occurred in the given time delta
"""
timeList1 = getTimeList()
time.sleep(interval)
timeList2 = getTimeList()
return [(t2-t1) for t1, t2 in zip(timeList1, timeList2)]
def getCpuLoad():
"""
Returns the cpu load as a value from the interval [0.0, 1.0]
"""
dt = list(deltaTime(INTERVAL))
idle_time = float(dt[3])
total_time = sum(dt)
load = 1-(idle_time/total_time)
return load
while True:
print "CPU usage=%.2f%%" % (getCpuLoad()*100.0)
time.sleep(0.1)
[os.getloadavg()] (http://docs.python.org /library/os.html#os.getloadavg) –
https://pypi.python.org/pypi/psutil
import psutil
psutil.get_pid_list()
psutil.virtual_memory()
psutil.cpu_times()
etc.
- 1. Obtención del estado gen_server/gen_fsm para la depuración
- 2. Obtención del remitente en jQuery
- 3. Obtención del desplazamiento UTC de la computadora en Python
- 4. Obtención del URL en WPF WebBrowser
- 5. Usando Enthought Python en lugar del sistema Python
- 6. Obtención de la ruta del archivo del módulo importado
- 7. Obtención de const_iterator del iterador
- 8. Obtención del nombre de conjunto
- 9. Iconos del tema del sistema y PyQt4
- 10. salida del árbol en símbolo del sistema
- 11. Obtención del concentrador actual en SignalR
- 12. Herramientas/bibliotecas Python para Web Semántica: ¿estado del arte?
- 13. Estado del usuario en Parsec
- 14. 'Esperando' animación en el símbolo del sistema (Python)
- 15. Determinar el dispositivo del sistema de archivos en Python
- 16. ¿Cómo detectar el idioma predeterminado del sistema operativo en python?
- 17. ¿Cómo puedo devolver la información del sistema en Python?
- 18. En Python: cómo ejecutar el comando del sistema sin salida
- 19. Buscar ubicaciones de carpetas del sistema en Python
- 20. Obtener información de zona horaria del sistema en Python?
- 21. CLPlacemark - ¿Abreviaciones del estado?
- 22. Obtención de la ruta del archivo en java
- 23. Ejecutando el comando del sistema en Vala
- 24. Sincronización del estado del juego Cliente-Servidor
- 25. Comprobación del estado del mensaje GCM
- 26. Sonidos del sistema en Java
- 27. Mostrando el error del estado del modelo
- 28. Propiedad del sistema Eclipse
- 29. Fuente del sistema iPhone
- 30. Tamaño del bloque del sistema de archivos
duplicados de estas preguntas: http://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage- in-python http://stackoverflow.com/questions/466684/how-can-i-return-system-information-in-python/467291 –