Los procesos en Linux no son más que programas que existen en ejecución. Si por algún motivo se han bloqueado y no responden, o simplemente quieres cerrarlos y liberar los recursos de hardware que están ocupando, tienes la opción de usar algunas herramientas para hacerlo de forma fácil.
En este tutorial aprenderás todo lo que necesitas saber sobre este tema, y podrás gestionar tus procesos de forma simple…
¿Qué es el PID?
El PID o Process ID de un proceso es, como su propio nombre indica, el identificador del propio proceso. Un número asignado por el sistema operativo cuando pone en marcha el proceso y que sirve para identificarlo, tanto para su gestión por parte del kernel como para matarlo, como es el caso.
Por tanto, antes de comenzar a ver cómo se puede matar un proceso, antes tienes que conocer cuál es el ID del proceso que quieres matar. Para poder verlo, puedes usar diferentes herramientas. Por ejemplo:
- Mostrar en tiempo real los procesos en marcha en un sistema Linux, con la primera columna indicando el PID y la última el programa al que corresponde:
top
htop
- También puedes usar estos otros comandos para listar los procesos en marcha y poder observar el PID, tanto en listado como en forma de árbol. Por ejemplo, para mostrar solo lo referente a Firefox:
ps aux | grep firefox
pstree -p | grep firefox
- Incluso puedes usar este otro comando seguido del nombre del programa del que quieres conocer el PID. Por ejemplo, imagina que quieres saber el PID de Firefox:
pgrep firefox
En cualquiera de esos casos, podrás obtener el PID del proceso que buscas. En este caso he puesto el ejemplo de Firefox, pero puede ser cualquier otro paquete…
Matar el proceso con kill
Ahora que ya tienes el PID, puedes matar el proceso con kill y otras herramientas similares.
Lo primero es ver las señales que puede enviar kill, ya que el comando lo que hace es simplemente enviar una señal al proceso que le indiques, y puede hacer mucho más que matar al proceso. Para poder ver todas las señales, puedes usar:
kill -l
Por ejemplo, la señal por defecto es SIGTERM si no especificas nada, siendo una señal más «gentil» para matar el proceso. Pero también hay otras como SIGKILL que es la más radical para terminar el proceso. Además, podrás usar tanto el nombre de la señal como su número para indicar a kill lo que quieres.
Para matar al proceso correspondiente a Firefox, que vamos a imaginar que es 2244, puedes usar cualquiera de estos comandos:
kill 2244
kill -SIGTERM 2244
kill -15 2244
kill -9 2244
kill -SIGKILL 2244
Si no has podido localizar su PID, también puedes hacerlo por nombre, que quizás es más intuitivo. Para ello:
pkill firefox
También existe una versión para eliminar procesos de forma gráfica. Es muy práctico cuando una ventana de un programa deja de responder y quieres cerrarla. Para ello:
xkill
Ahora verás que tu cursor se ha transformado en un aspa (x), pulsa sobre la ventana que quieras cerrar y se matará dicho proceso.
Además de estas opciones, también tienes a tu alcance otros scritps, aunque no son necesarios. Por ejemplo, está fkill con el que poder interactuar sobre los procesos de forma interactiva.