elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ejecutar orden al pulsar F1
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar orden al pulsar F1  (Leído 3,268 veces)
Gambinoh


Desconectado Desconectado

Mensajes: 389



Ver Perfil WWW
Ejecutar orden al pulsar F1
« en: 21 Diciembre 2014, 16:10 pm »

Hola, tengo entendido que hay un comando para liberar la memoria RAM.

Código:
sysctl -w vm.drop_caches=3

Quiero ejecutar esta orden en modo superusuario al pulsar la tecla F1.

¿Cómo lo hago?

Ubicaré el comando anterior en la ruta /etc/init.d/, en un archivo junto a otros comandos que ejecuto en el apagado y reinicio del equipo. La idea es mediante una sentencia if o algo por el estilo hacer que NO se ejecute en el reinicio o apagado, pero sí al pulsar la tecla F1.

PD: Me resulta comodo reunir todos mis scripts en un solo archivo.



« Última modificación: 2 Octubre 2015, 13:47 pm por Gambinoh » En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Ejecutar orden al pulsar F1 (bash)
« Respuesta #1 en: 21 Diciembre 2014, 17:15 pm »

usa xbindkeys
https://wiki.archlinux.org/index.php/Xbindkeys


En línea

buenas
Gambinoh


Desconectado Desconectado

Mensajes: 389



Ver Perfil WWW
Re: Ejecutar orden al pulsar F1 (bash)
« Respuesta #2 en: 21 Diciembre 2014, 20:05 pm »


Pero yo quiero hacerlo con bash, hablamos de la ejecución de un comando, no puede ser tan complicado, de hecho hasta se podría ejecutar cada cierto tiempo con cron.

Código:
Variable A recoge el valor de RAM actual en uso.
Si variable A > n
Se ejecuta el comando que libera la memoria
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Ejecutar orden al pulsar F1 (bash)
« Respuesta #3 en: 21 Diciembre 2014, 22:27 pm »

eso es completamente diferente a lo que habias dicho antes xD:
Código
  1. #!/bin/bash
  2. #limite de ram
  3. limite=1000
  4. #limite de swap
  5. limiteswap=1
  6.  
  7. while true;
  8. do
  9.  clear
  10.  usado=$(free -m | grep Mem | awk '{print $3}')
  11.  swapusado=$(free -m | grep Swap | awk '{print $3}')
  12.  echo "ram usada:" $usado " swap usado:" $swapusado
  13.  if [ $usado -ge $limite ] && [ $swapusado -ge $limiteswap ]; then
  14.    sysctl -w vm.drop_caches=3
  15.  fi
  16.  sleep 5
  17. done
  18.  
En línea

buenas
Gambinoh


Desconectado Desconectado

Mensajes: 389



Ver Perfil WWW
Re: Ejecutar orden al pulsar F1 (bash)
« Respuesta #4 en: 21 Diciembre 2014, 23:35 pm »

Joder, pero no me lo des todo hecho LOL.

No, en serio, muchas gracias, eres un crack.

De todas formas, ¿Qué solución de las dos te parece más adecuada?

Yo ya había creado un script xD para ejecutar con una combinación de teclas mediante xbindkeys como habías sugerido. No se me habría ocurrido lo del bucle while...

Citar
#!/bin/sh

sync  &&   echo 3 > /proc/sys/vm/drop_caches

exit 0

Añado al archivo /etc/sudoers la siguiente línea:
Citar
# Ejecución del script ramfree.sh
usuario equipo=NOPASSWD: /etc/init.d/ramfree.sh

Creo ~/.xbindkeysrc y allí añado estos parámetros:
Citar
# Liberar memoria
"sudo /etc/init.d/ramfree.sh"
    Control+Alt + r




« Última modificación: 22 Diciembre 2014, 00:36 am por Gambinoh » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecutar boton al pulsar enter...
Programación Visual Basic
BenRu 5 9,814 Último mensaje 28 Enero 2006, 00:05 am
por sch3m4
Pulsar Tecla
Programación Visual Basic
UTU 6 3,790 Último mensaje 9 Agosto 2006, 22:19 pm
por _Sergi_
Al pulsar una tecla
Programación Visual Basic
Tyrz 8 3,393 Último mensaje 4 Octubre 2007, 07:31 am
por zXxOsirisxXz
Automatizar el pulsar una tecla
Programación Visual Basic
Dreewzt 2 3,404 Último mensaje 20 Julio 2008, 20:50 pm
por Dreewzt
Orden Necesito Orden
Foro Libre
cyriusa 3 3,635 Último mensaje 11 Febrero 2011, 14:08 pm
por [u]nsigned
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines