# -*- coding: UTF-8 -*-
import subprocess
def cpuUso():
"""
Funcion que devuelve el uso de la CPU... (20.3%)
La información es obtenida del commando "top"
Es necesario ejecutar el comando "top" dos veces para tener el valor actual
de uso del procesador
"""
result=subprocess.getoutput("top -d 1 -b -n2 | grep 'Cpu(s)' | tail -n 1")
if result.find("%id,")>=0:
# si nuestro top es del tipo:
# Cpu(s): 1.7%us, 3.4%sy, 0.0%ni, 94.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
result=result[result.find("%id,")-5:result.find("%id,")]
elif result.find(" id,")>=0:
# si nuestro top es del tipo:
# %Cpu(s): 1,0 us, 1,5 sy, 0,0 ni, 97,5 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
result=result[result.find(" id,")-5:result.find(" id,")]
# eliminamos la coma decimal por un punto
result=result.replace(",",".")
# devolvemos el % de uso
return 100-float(result.strip())
print("El uso de procesador es del: %.2f%%" % cpuUso())
Comentarios sobre la versión: Python 3.x (0)
No hay comentarios