Mostrando entradas con la etiqueta kill. Mostrar todas las entradas
Mostrando entradas con la etiqueta kill. Mostrar todas las entradas

viernes, 16 de enero de 2015

Matar procesos de forma rápida y eficaz

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

El momento de máxima frustración de cualquier usuario es cuando la aplicación que usas se bloquea y no puedes ir ni hacia delante ni hacia atrás. En GNU/Linux existen varias formas de salir del atolladero, y aunque todas suponen cerrar el proceso en curso, sirven para que el sistema restablezca su normal funcionamiento y podamos seguir trabajando. Por supuesto, todo ello a través de la consola de comandos usando el comando kill.

Lo que hace este comando es enviar señales a los procesos abiertos que, por defecto, indican el final del proceso. Son de uso exclusivo del supersusuario por lo que, si no estamos logados como tal, habrá que antecederlo del sudo.

El modo más eficaz de matar un proceso es utilizar su PID (número de identificación), el cual podemos conseguir de varias formas. Pongamos que quiero matar el proceso correspondiente al programa de diseño 3D Blender; bien, pues usando el comando top veremos monitorizados en pantalla todos los procesos abiertos en tiempo real. Solo tenemos que localizarlo.



Vemos que su PID es 7170, de modo que a continuación usamos kill con el modificador -9:

paco@paco-pc:~/$ sudo kill -9 7170

Otra forma de localizar un PID es empleando el comando ps, que sirve para listar procesos activos:

paco@paco-pc:~/$ sudo ps -ef | grep Blender

Así, en combinación con una tubería y el comando de filtrado grep hallaríamos el PID de Blender.

También podemos matar el proceso tecleando su nombre, en este caso usando el comando killall:

paco@paco-pc:~/$ sudo killall Blender

A veces el nombre del proceso no es exactamente igual al de su aplicación relacionada. Por ejemplo, el reproductor multimedia Kaffeine es ejecutado por el proceso llamado kaffeine-xbu, pero esto no tenemos por qué saberlo. Para estos casos disponemos del comando pkill, con el que podremos matar el proceso tecleando solo parte de su nombre. Ojo, si hay procesos abiertos que compartan esa cadena de texto también se cerrarán.

paco@paco-pc:~/$ sudo pkill kaffeine

De esta forma mataríamos el proceso kaffeine-xbu.

Por último, la manera más gráfica de aniquilar un proceso es con xkill. Con este comando mataremos la aplicación que nos molesta haciendo clic sobre ella con el ratón, cuyo cursor se habrá convertido en una calavera.

paco@paco-pc:~/$ sudo xkill

En fin, con este rosario de comandos no había que estrujarse mucho la sesera para elegir el vídeo del post. Un clásico de los 90 com es este "Killing in the name" de los siempre combativos Rage Against The Machine.


viernes, 12 de abril de 2013

Como salvar los muebles ante un cuelgue vía terminal

Mal que nos pese a los usuarios de GNU/Linux, los ordenadores con este sistema también se cuelgan. Lo bueno es que hay formas de resolver la cuestión y volver a retomar nuestra tarea cotidiana sin tener que reiniciar, pero para eso necesitamos el terminal de comandos.

Por ejemplo, la herramienta de descarga de música Nicotine lleva varios días dándome problemas. Se cuelga al realizar una búsqueda y, a veces, me bloquea el PC completo. ¿Qué hacer para salvar la situación?

Lo que tenemos que hacer es pulsar Ctrl + Alt + F2, así accedemos a la terminal en modo pantalla completa, sin rastro de la interfaz gráfica. No nos asustemos que la cosa es fácil. Se nos pedirá el nombre de usuario y después la contraseña; una vez introducidos aparecerá el prompt de comandos, del que ya hablé en el anterior post.

Ahora es el momento de actuar. Tecleamos en comando top, que sirve para monitorizar procesos activos, es decir, veremos un listado de todos los programas que se encuentren en ejecución aunque estén interrumpidos, como es el caso. El aspecto que nos mostrará será parecido a este:

paco@paco-pc:~$ top



En la columna más a la derecha podemos ver los procesos activos. Localizamos el que nos está fastidiando (en mi caso es Nicotine) y buscamos en la primera columna su PID (número identificador de proceso), que para Nicotine es el 4686.

Una vez conseguido este dato pulsamos la letra q para salir del comando top y volver a la línea de comandos. A continuación vamos a matar ese proceso con el comando kill, anteponiendo el comando sudo para disponer de privilegios de superusuario.

paco@paco-pc:~$ sudo kill 4686
[sudo] password for paco:

paco@paco-pc:~$


Y el proceso problemático ha dejado de ser una molestia. Para volver a la interfaz gráfica pulsamos Ctrl + Alt +F7 y como si no hubiera sucedido nada.

Hemos visto comandos que no tenía previsto mencionar tan pronto, pero resultan útiles para solventar la papeleta de una aplicación que, al colgarse, bloquea todo el sistema. Uno de ellos era kill, que me sirve para dar paso al vídeo de 30 Seconds To Mars precisamente llamado "The Kill".