miércoles, 26 de octubre de 2016

Comprobar si el equipo está conectado a la corriente

En muchas ocasiones resulta de utilidad revisar scripts que vienen de serie con la distribución Linux que tenemos para descubrir nuevos comandos, funciones de utilidad, etc.
Hoy os comento el comando on_ac_power, que viene por defecto en Ubuntu. Sirve para conocer si un equipo está conectado a la corriente eléctrica o no. El resultado lo devuelve mediante la variable de entorno $?, que indica el código de salida de la última aplicación o comando ejecutado.
A modo de ejemplo se indica una función que puede ser valiosa para decidir si ejecutar un script que use bastante CPU o no:
check_power()
{
     # laptop check, on_ac_power returns:
     #       0 (true)    System is on main power
     #       1 (false)   System is not on main power
     #       255 (false) Power status could not be determined
     # Desktop systems always return 255 it seems
     if which on_ac_power >/dev/null; then
          on_ac_power
          POWER=$?
          if [$POWER-eq1];then
               echo "exit: system NOT on main power"
               return 1
          elif [ $POWER -ne 0 ]; then
               echo "power status ($POWER) undetermined, continuing"
          else
               echo "system is on main power."
          fi
     fi
     return 0
}