Saltar al contenido
09 - 06 - 2012 / virgilius

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.

About these ads

6 comentarios

Dejar un comentario
  1. niggerkun / jun 9 2012 1:28 PM

    ctrl+z

    • virgilius / jun 9 2012 5:46 PM

      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 :D

  2. Miguel Carmona / jun 22 2012 4:52 AM

    Quizás sería más fácil usar killall. Ej:
    detener => killall -19 chrome
    continuar => killall -18 chrome
    matar => killall -9 chrome

    Saludos…

    • Miguel Carmona / jun 22 2012 5:56 AM

      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

      • virgilius / jul 10 2012 3:04 AM

        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! :P . 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 ;)

Trackbacks

  1. Pausar procesos (aplicaciones) | miguelcarmona.name

Comparte tu opinión

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 56 seguidores