Usando Linux like a boss!: Pausar aplicaciones

Tengo un equipo muy lento y a veces cuando estoy viendo un video se relantiza porque chromium esta acaparando la mayor parte de memoria/procesador. La solución normalmente va por cerrarlo, pero seria mejor si pudiera pausarlo y continuar cuando termine de ver mi video, para esto nos podemos valer de las señales.
Las señales son ordenes que se le envian a una aplicación para que haga determinada cosa, seguramente conocen killall que envia una señal TERM a la aplicacion que le indiquemos, pues podemos enviar más señales con
kill -<señal> <PID>
¿Que es el PID? Es el ID de cada proceso, lo podemos ver en el monitor de procesos, con top o con ps. Podemos obtener el PID de un proceso con:
pidof <proceso>
La salida sera el/los PID del proceso que indiquemos.
Volviendo a las señales podemos ver una lista de ellas ejecutando kill -l Por ejemplo kill -15 <PID>; enviara una señal a la aplicacion para que cierre, en cambio kill -9 <PID> cerrara la aplicacion forzosamente.
Con kill -19 le enviaremos una señal STOP a la aplicacion lo que hara que se detenga y deje de consumir recursos del procesador, podemos volver a activarla enviandole una señal CONT con kill -18.
Y si quieren facilitar todo esto pueden añadir las siguiente funciones a su archivo .bashrc
gedit ~/.bashrc
function detener {
app=$1
pidapp=$(pidof $app)
if ps -A | grep ${app:?}
then
kill -19 ${pidapp:?} && echo "Se detuvo $app"
fi
}
function continuar {
app=$1
pidapp=$(pidof $app)
if ps -A | grep ${app:?}
then
kill -18 ${pidapp:?} && echo “Se continua la ejecucion de $app”
fi
}
function matar
{
app=$1
pidapp=$(pidof $app)
if ps -A | grep ${app:?}
then
kill -9 ${pidapp:?} && echo “Se mata el proceso de $app”
fi
}
Abrimos una nueva terminal o ejecutamos souce ~/.bashrc y ahora disponemos de las siguientes ordenes
detener <aplicación>
continuar <aplicación>
matar <aplicación>
Esta ultimamente es especialmente util si killall no cierra la aplicacion que le indiquemos. Con esto nos ahorraremos tener que sacar el PID de cada proceso y recordar las señales.


ctrl+z
Pues si… y no…
solo sirve si lo haces con una aplicacion que estes ejecutando desde la terminal, lo que pongo aqui serviria para poner por ejemplo: detener chromium
Quizás sería más fácil usar killall. Ej:
detener => killall -19 chrome
continuar => killall -18 chrome
matar => killall -9 chrome
Saludos…
Por cierto y sin ánimo de hacer spam (eliminen el enlace si no es procedente), he redactado un artículo con el uso de killall y el uso de la aplicación KDE Actividad del sistema.
http://miguelcarmona.name/blog/pausar-procesos-aplicaciones
Una disculpa por la tardanza en responder, me ocupan otros asuntos y no he revisado el blog en mucho rato.
Ciertamente es más facil usar killall, si no lo puse fue porque… no sabia!
. crei que solo se podian enviar señales con kill y ni siquiera me moleste en leer el man de killall.
En fin, se aprende algo cada día