sábado, 30 de marzo de 2013

Matar procesos por nombre en Terminal Linux


Como mostré en una entrada pasada,que ya tiene tiempo,vimos como matar procesos pero por PID(identificador de proceso),pues esta vez lo haremos por nombre,ya que es un poco mas facil usar el nombre del programa,proceso que algo como 134747.

Tutorial

Primero que nada debemos saber el nombre exacto de nuestro programa, aplicaron o proceso abierto,para eso vamos a usar un poco de regex en grep,pero como soy perlero y los ando induciendo a perlear vamos a usar:

pcregrep

El grep compatible con las expresiones de Perl :D

Bien primero de damos color para que se vea como grep al encontrar coincidencias,con este comando:

echo 'alias pcregrep="pcregrep --color"' >> ~/.bashrc && source ~/.bashrc

Bien ahora podemos hacer esto:

Imaginemos que se nos traba un programa(si, se nos traba en Linux) en Ubuntu :P y sabemos como se llama,pero mas o menos porque el nombre comercial no es el mismo que usa Unix para el proceso,asi que imaginemos que se llama Firefox,para encontrarlo,usamos una expresion que busque desde Fire hacia adelante y que no le importe minusculas o mayusculas:

ps -e | pcregrep -Mi "Fire(.*)"

Explico:

ps -e # Muestra todos los procesos con poca informacion(pero es la que nos interesa)

pcregrep # Es grep con Perl

-Mi # Aqui hay dos parámetros M que indica que busque en multilinea y i que es ignore case,osea que no le importe mayúsculas o minusculas

"Fire(.*)" # Es lo que queremos buscar,pero con esta expresión (.*) que indica lo que siga hacia adelante,seria como Fire* en Unix Wildcards



Como puden ver me salio que se llama firefox no Firefox,asi que tenemos que usar el nombre que salio en rojo

Ahora solo usamos este comando

killall firefox
O si tenemos ekill

ekill firefox
Así de fácil :D

Nota: Si tenemos varias ventanas abiertas de firefox o de otro programa,nos cierra todas!!! 

Ahora si no nos gusta eso de andar usando la terminal pueden instalar xkill:

sudo emerge xkill

sudo apt-get install xkill

sudo pacman -S xorg-xkill

Lo lanzamos,como dije en esta entrada no se necesita lanzarlo desde la terminal,podemos usar combinaciones de teclas o el ejecutor de nuestro entorno,LXDE tiene uno en el menú KDE tiene uno arriba del escritorio,hasta windows tiene uno :P,o desde Terminal :S:

xkill
Nos sale una calaca y "cierra" las ventanas que cliquemos,pero cuidado porque "no tiene misericordia",si cliqueamos el escritorio por ejemplo hasta le hace kill a el proceso que pone el wallpaper,es una herramienta indispensable (en mi opinión)  ya que aveces se cuelga el sistema(mas que nada ubuntu) y este programa cierra las ventanas o procesos fácilmente,pero como dije en la otra entrada si ya ni semueve no prodra lanzar el proceso y es donde entra en acción kill o killall desde una tty :D

Eso es todo

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.