6 formas de matar procesos


Mirando un poco por internet me topé con esta entrada que te muestra 6 formas diferentes de matar procesos en Ubuntu (supongo que en el resto de las distros también estarán). Es interesante saber como “matar” el proceso de un programa que se haya colgado y como no conocía todas os haré un breve resuven:

1- Monitor del sistema

Quizá la más sencilla de averiguar, simplemente nos vamos a sistema –> Administración –> Monitor del sistema y buscamos el proceso que queremos eliminar. Después le damos a matar proceso.

2 – Forzar el cierre

En Gnome hay la posibilidad de añadir un botón a la barra de tareas que forzaría el cierre de una aplicación. Una vez que pulsamos dicho botón el ratón se convierte en una “equis” y seleccionamos la ventana del proceso que queremos eliminar, esto forzaría su cierre. Obviamente es imprescindible que el proceso sea visible para realizar esta opción.

3- Mediante xKill

Simplemente abrimos la consola y tecleamos:

xkill”

y el cursor del ratón cambiara a la forma de “equis”. Después le damos al proceso a eliminar.

4- Kill

Un comando bastante útil, porque además permite eliminar cualquier proceso, tanto visible como no visible. Aunque para usarlo hace falta saber el PID del proceso a eliminar.  Para saber el PID del proceso abre una terminal y escribe:

ps aux

Y una vez que encuentres el PID del proceso a eliminar escribes:

kill PID

Donde PID es el PID del proceso (un numero)

5- Killall

En ocasiones, una aplicación dispone de varios procesos activos (varios PID), y para finalizarla es necesario utilizar varias veces el comando kill. En estas ocasiones podemos utilizar el comando killall, el cual finaliza todos los procesos que abre un comando.

killall recibe como parámetro el CMD de la aplicación:

killall CMD

6- pKill

pKill es parecido a kill pero más sencillo de utilizar, ya que usa como argumento el nombre del proceso en lugar del PID para forzar el cierre. Para usarlo abrir la terminal y escribir:

pkill nombre_del_proceso

 

Fuente | 6 formas de matar procesos (Noticias Ubuntu)

Los procesos en Linux


¿Qué son los procesos?
Los procesos son programas que se ejecutan en un momento dado. Cuando usamos un sistema operativo de GNU/Linux como Ubuntu por ejemplo (o cualquier otro, también dentro de windows y mac puede aplicarse) existen una serie de procesos que se están ejecutando constantemente y que son los que hacen al sistema operativo utilizable.

Los procesos en GNU/Linux son organizados de forma jerárquica, cada proceso es lanzado por un proceso padre y es denominado proceso hijo. De está forma, todos los procesos en GNU/Linux son hijos de init ya que este es el primer proceso que se ejecuta al iniciar el ordenador y init es padre de todos los procesos. Si se mata al proceso padre, también desaparecerán los procesos hijos.

Tipos de procesos
Básicamente hay dos: los procesos de usuario y los demonios:

– Los procesos de usuario son los programas que utiliza el usuario generalmente y se encuentran conectados a una terminal. El programa aparecerá el pantalla y interactuara con el usuario

– Los demonios por contra, no están conectados a una terminal, funcionan solos y no interactúan con el usuario.

Como ver el listado de procesos en Ubuntu
Gráficamente, se puede realizar facilmente, haciendo clic en Sistema –> Administración –> Monitor del sistema

Si sois usuarios de Kde 4, simplemente ir a Aplicaciones –> Sistema –> Monitor del sistema

Monitor del sistema corriendo en KDE 4.3

También se puede ver un listado de los procesos desde la consola, en la terminal ejecutar el comando “ps” (sin las comillas). En mi caso, solo me aparecen dos procesos en consola, esto no es real, por lo que para ver todos los procesos en consola de todos los usuarios escribid “ps ax” (sin comillas), debería de aparecer una imagen similar a esta:

Como pueden ver, los procesos están ordenados y se presentan con 5 columnas (PID, TTY, STAT, TIME, COMAND), cada columna tiene su significado:
– PID: Es la primera columna y indica el numero ID del proceso en cuestión. Este numero es necesario para matar luego al proceso, por ejemplo, dentro de los procesos que aparecen en la imagen si quisiera matar al proceso bluetooth, con un PID de 29 escribiría en terminal kill 29
– TTY: Esta columna muestra en que terminal se está ejecutando el proceso, si aparece con un ? significa que es un demonio (todos los procesos listados en la imagen son demonios, para los más observadores se habrán dado cuenta de que hay más procesos en ejecución, solo que no me entran en una imagen)
– STAT: Está columna muestra el estado del proceso
– TIME: Está columna muestra el tiempo que ha consumido el proceso para ser lanzado, es decir, el tiempo que ha pasado desde la ejecución de la orden del proceso hasta que el proceso empezó a funcionar.
– COMMAND: Está columna muestra el comando que fue necesario para invocar al proceso en cuestión

Listado de procesos en tiempo real
Top
El comando anterior muestra todos los procesos en un momento determinado, pero si quieres verlos en tiempo real puedes escribir el consola “top” (sin comillas) y te saldrá una imagen parecida a esta:

Top es una herramienta muy potente que permite ver el listado de procesos en tiempo real de ejecución, si se desea salir de la aplicación simplemente pulsar q.

Está herramienta es muy útil y se ha hecho muy popular en GNU/Linux, por lo que hay bastantes herramientas similares con pequeñas modificaciones. Algunos de ellos son por ejemplo Krunner, el monitor de procesos de KDE (cuya imagen está mas arriba) o el monitor del sistema de GNOME.

Matar un proceso
Matar a un proceso en bastante sencillo, en consola solo debes escribir lo siguiente:

kill [PID]

Por ejemplo supongamos que tienes un proceso llamado Wow.exe y que quieres matarlo porque se quedo bloqueado o por que funciona de forma errónea,  abres la consola y escribes pd ax, ves que el PID del proceso en cuestión es 25146, pues entonces coges y escribes, kill 25146 y mataras a Wow.exe provocando por tanto el cierre del programa.


Hay ocasiones en las que al mandar ese comando el proceso ignora la seña y continua ejecutandose, si se desea eliminar este proceso por la razón que se, se debe de enviar una señal de eliminación a toda costa (pondre el ejemplo de antes, Wow.exe aunque este nunca ignorara el comando de antes). Para enviarla escribe kill -9 25146, donde -9 es la seña y el otro numero el PID del proceso a eliminar. Hay que tener mucho cuidado al utilizar este ultimo comando, y no usarlo si no se está seguro de lo que se hace.


También se pueden eliminar procesos con la herramienta Top, una vez iniciada en terminal, simplemente pulsa la tecla K y Top preguntara el PID del proceso a eliminar, después pedira la señal que se desea enviar, pueden escribir 15 (señal por defecto, es la señal de terminación por software) o la seña 9 ya explicada.

18 de Abril 2010 – Corregido el fallo que no permitía ver las imágenes