Páginas

viernes, 14 de octubre de 2011

Matar procesos en Ubuntu Server

Hola a tod@s!

Estamos de nuevo con otro post sobre los...¡PROCESOS DEL SISTEMA!

Como siempre, os voy a mostrar varias formas de ver los procesos que están corriendo en el sistema y como matar esos procesos. En Linux no es muy común tener nuestro sistema cargado por culpa de un proceso que esté ocupando todas nuestras reservas de nuestro sistema. Sobre todo tenemos que prestar más atención a los denominados procesos "Zombies". Son procesos que han terminado de ejecutarse pero siguen estando en nuestra tabla de procesos. Sí tenemos muchos "Zombies" tenemos que preocuparnos un poco porque significará que nuestro sistema están en problemas. Luego explicaré la forma de acabar con ellos ;).

Vamos a ver las formas que tenemos de ver los procesos que están corriendo en nuestro sistema:

# ps aux


Nos muestra todos los procesos de nuestro sistema

# top


Muestra más información de los procesos y los que se están ejecutando en tiempo real.


Para matar o forzar la parada de los procesos existen varias formas, son:

- kill

La utilizamos para matar el proceso más el "PID", ejemplo: Hemos ejecutado la sentencia "TOP", para matar el proceso "Xorg" tenemos que ver cuál es su "PID". En éste caso es el "478", lo podemos ver en el nombre de las columnas. Ejecutamos así:

# kill 478

- killall

A veces si utilizamos "kill", algunos procesos tienen otros procesos activos. Para ello utilizaremos "killall" y finalizaremos todos los procesos activos del proceso que queremos matar.

# killall 478

- pkill

Muchas veces nos volvemos locos buscando el "PID" del proceso que está saturando nuestro sistema, pues bien, "pkill" nos facilita un poquito más y nos ayudará a matar el proceso directamente por su nombre, sin necesidad de buscar su "PID".

# pkill xorg



Hay otras formas, como para un entorno de escritorio, etc... Pero creo que están las más representativas y las más fáciles de usar.

Para finalizar el post, vamos a ver la forma de matar nuestros procesos "zombies", que son, los más peligrosos para nuestro sistema.

Para determinar o buscar los procesos zombies, tenemos que ejecutar: "TOP". En la parte superior nos mostrará los procesos zombies que tenemos ejecutandose en nuestro sistema.

En la imagen vemos que tenemos 1 proceso catalogado como zombie. Para ver cual es el proceso, debemos de hacer una búsqueda, así:

# ps - A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

Nos devolverá el resultado y nos listará los procesos catalogados como zombies. El problema es que no podemos matarlos con un simple "kill", tenemos que ejecutar lo siguiente:

# kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}'`

Ahora sí que hemos matado a los "zombies", espero que no dejen más sus almas y mueran definitivamente! :)

Hasta la próxima!