Nov 07, 2025
Deyimar A.
10min de lectura
Para eliminar un proceso en Linux, puedes utilizar el comando kill, especificando el ID del proceso (PID) o el nombre del proceso. El comando kill envía señales a los procesos, pidiéndoles que se terminen o forzándolos a detenerse.
Además, otros comandos como killall y pkill también ayudan a facilitar la terminación de procesos basándose en el nombre del proceso, lo que ofrece una mayor flexibilidad a la hora de terminar varios procesos a la vez.
Cada uno de estos comandos tiene diferentes opciones para enviar señales, ya sea para matar un proceso de forma ordenada o para detenerlo de forma forzada.
En este artículo, exploraremos cada uno de estos comandos y te mostraremos cómo utilizarlos de forma eficaz en diversos escenarios.

Antes de aprender a eliminar un proceso en Linux, asegúrate de cumplir los siguientes requisitos previos:
sudo apt-get install procps x11-utils # for Debian-based distributions
sudo yum install procps-ng xorg-x11-apps # for Red Hat-based distributions

Primero debes localizar el proceso correcto para evitar detener accidentalmente operaciones esenciales del sistema. A continuación se muestran varios comandos para encontrar detalles de los procesos en ejecución en Linux:
Localizar un proceso con ps
El comando ps proporciona una lista completa de los procesos en ejecución y sus detalles, como el usuario, el ID del proceso (PID), el uso de la CPU y la memoria, y el comando que inició el proceso.
Esta es su sintaxis básica:
ps [options]
Puede añadir estas opciones a este comando:
Por ejemplo, si ejecutas lo siguiente:
ps -aux
Deberías ver una salida similar a:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 169364 8824 ? Ss Jul08 0:05 /sbin/init root 2 0.0 0.0 0 0 ? S Jul08 0:00 [kthreadd] ...
Buscar el PID con pidof
El comando pidof busca el PID del proceso por su nombre. Es sencillo y práctico cuando ya se conoce el nombre exacto del proceso.
pidof [options] [program]
Algunas opciones útiles para pidof son:
Por ejemplo, para obtener el PID de sshd, ejecuta:
pidof sshd
Si solo hay una instancia en ejecución, el resultado será un único PID:
1234
Sin embargo, si hay más de una instancia en ejecución, se mostrarán varios PID:
1234 5678
Buscar PID con pgrep
El comando pgrep ofrece una forma más avanzada de buscar un proceso. Devuelve procesos basados en criterios de selección específicos que pueden coincidir con nombres de procesos, conocidos como patrones.
pgrep [options] [pattern]
Estas son algunas opciones comunes que puedes añadir:
Por ejemplo, para mostrar los nombres y los PID de todos los procesos propiedad del usuario john, puedes utilizar:
pgrep -lu john
El comando anterior devolverá:
1234 process_name_1 5678 process_name_2 ...
Ver los procesos en ejecución con top
El comando top proporciona una vista interactiva y en tiempo real de los procesos en ejecución. Muestra los PID, los usuarios, la cantidad de memoria y potencia de CPU que utiliza cada proceso, y el tiempo de ejecución.
Para ver una lista de todos los procesos activos, ejecuta:
top
Este es el resultado que verás:
top - 15:37:58 up 2:13, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 4045860 total, 3810124 free, 140408 used, 94808 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 3643028 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 169364 8824 6508 S 0.0 0.2 0:05.14 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd ...
Para salir de la interfaz superior, pulsa Q.
Los usuarios de Hostinger pueden listar los procesos en su VPS sin comandos preguntando al asistente de IA Kodee. Simplemente introduce un comando como “Mostrar todos los procesos y sus PID propiedad del usuario root” y Kodee mostrará los procesos correspondientes.
¿Qué procesos se pueden eliminar en Linux?
En Linux se pueden eliminar tanto los procesos de usuario como los de sistema. Los procesos de usuario que pertenecen al usuario generalmente se pueden eliminar sin problemas.
Los procesos de sistema que pertenecen al sistema o al usuario root requieren permisos de root para eliminarlos y deben manejarse con precaución, ya que su terminación puede provocar un fallo del sistema.
Las señales del comando kill son mensajes enviados a los procesos para indicarles que realicen acciones específicas. Son una parte fundamental de los sistemas operativos basados en Unix, ya que permiten a los usuarios y programas controlar los procesos de forma eficaz.
Puedes ver todas las señales disponibles en Linux con el siguiente comando:
kill -l
Muestra todas las señales junto con sus números y nombres correspondientes, como por ejemplo:
Por ejemplo, para eliminar un proceso con SIGTERM, ejecuta lo siguiente:
kill -15 [PID]
La importancia de elegir la señal adecuada
El uso de la señal kill correcta en función del escenario y del impacto deseado garantiza que los procesos se terminen de forma controlada y predecible, especialmente cuando se trata de tareas en segundo plano.
Por ejemplo, la señal SIGTERM es la preferida para un control seguro de los procesos, ya que permite que estos guarden cuidadosamente su estado y se cierren. SIGKILL, aunque es práctica, debe utilizarse con moderación, ya que puede provocar la pérdida o corrupción de datos.
Lee nuestro artículo para aprender algunos de los comandos de Linux más utilizados, lo que te permitirá reforzar tus habilidades y familiarizarse con este sistema operativo.
Si conoces el PID del proceso que deseas terminar, puedes utilizar fácilmente el comando kill de Linux para enviar una señal. La siguiente es su sintaxis básica:
kill [signal] PID
Por ejemplo, para solicitar que el proceso finalice con la señal SIGTERM predeterminada y el PID 1234, ejecuta:
kill -15 1234
Si el proceso no responde a SIGTERM, prueba a utilizar la señal SIGKILL para terminarlo de forma forzada:
kill -9 1234
También puedes enviar otras señales según tus necesidades específicas, como por ejemplo:
kill -2 1234 # Sends SIGINT
kill -1 1234 # Sends SIGHUP
Si necesitas eliminar varios procesos a la vez, el comando kill te permite enviar señales a varios PID. A continuación te explicamos cómo hacerlo:
kill [signal] PID1 PID2 PID3
A continuación se muestra un ejemplo de cómo finalizar procesos con los PID 1234, 5678 y 91011 utilizando SIGTERM:
kill -15 1234 5678 91011
Para enviar una señal a todos los procesos de un grupo, utiliza el PID negativo del líder del grupo:
kill -15 -1234
Esto termina todos los procesos del grupo liderado por el PID 1234.
Ten cuidado al terminar procesos padres, ya que al hacerlo también se pueden terminar los procesos hijos asociados a ellos.
El comando pkill te permite eliminar procesos por su nombre, a menudo más rápido que utilizando el comando kill con un PID. A continuación cómo se puede utilizar pkill:
pkill [signal] [process name]
Por ejemplo, para eliminar un proceso llamado nginx, ejecuta:
pkill -SIGTERM nginx
Si deseas terminar procesos que pertenecen a un usuario específico:
pkill -u john
Por ejemplo, para finalizar los procesos asociados con un terminal pts/1:
pkill -t pts/1
También puedes eliminar todos los procesos de un grupo de procesos específico, por ejemplo, PGID 1234:
pkill -g 1234
Para terminar la instancia más reciente o más antigua de un proceso, escribe lo siguiente:
pkill -n nginx # Kill the newest instance of nginx
pkill -o nginx # Kill the oldest instance of nginx
También puede combinar varias opciones para hacer coincidir procesos basándose en criterios específicos. Por ejemplo, para eliminar de una vez todos los procesos del usuario john en el terminal pts/1 del grupo de procesos 1234, ejecuta:
pkill -u john -t pts/1 -g 1234
killall termina todas las instancias de un proceso por nombre y puede seleccionar procesos en función de su antigüedad, usuario y tiempo de ejecución.
Es ideal para gestionar procesos con el mismo nombre en todo el sistema, en comparación con kill para procesos individuales y pkill para gestionar selectivamente varias instancias de un proceso.
La sintaxis básica del comando killall es:
killall [options] [process_name]
Estos son algunos de sus usos principales:
killall nginx # Terminates all instances of nginx
killall -s SIGKILL nginx # Forcefully kills all instances of nginx
killall -u john nginx # Ends all nginx processes owned by the user john
Si deseas eliminar procesos que se han estado ejecutando durante un tiempo determinado:
killall -o 1h nginx
Esto termina todos los procesos nginx que llevan más de una hora ejecutándose.
Para eliminar todas las instancias de un proceso excepto una, específica:
killall -v -I nginx
Puedes excluir un proceso nginx específico para que no se elimine con el comando anterior.
Además, para eliminar procesos en función de su carga de CPU o uso de memoria:
killall -i -s SIGKILL nginx
Esto envía un mensaje interactivo antes de eliminar cada proceso nginx para que pueda confirmar o rechazar cada acción.
¿Cuál es la diferencia entre los comandos kill y killall?
El comando kill requiere un PID y termina un proceso específico, lo que lo hace ideal para un control preciso. Por su parte, el comando killall termina todas las instancias de un proceso por su nombre, lo que ofrece más flexibilidad para gestionar procesos con el mismo nombre en todo el sistema.
El comando xkill está diseñado para entornos basados en GUI, como un portátil con Linux instalado. Con él, puedes eliminar aplicaciones que se han bloqueado o que no responden a los comandos de terminación estándar con un simple clic.
A continuación se presentan algunos casos en los que xkill resulta útil:
Para utilizar xkill, introduce este comando en tu terminal:
xkill
Después de ejecutar este comando, el cursor del ratón cambiará a un icono ×. A continuación, mueve el cursor a la ventana de la aplicación que no responde y haz clic con el botón derecho del ratón sobre ella. Esto eliminará inmediatamente el proceso seleccionado.
Alternativamente, si conoces el ID de la ventana de la aplicación que no responde, escribe:
xkill -id <window_id>
Con este comando, puedes seleccionar y cerrar una ventana específica directamente.
Ten en cuenta que xkill no admite de forma nativa la eliminación por clase o nombre. Sin embargo, puedes utilizar otras herramientas junto con él para obtener resultados similares. Por ejemplo, utiliza wmctrl para enumerar las ventanas y sus ID y, a continuación, ejecuta xkill con el ID adecuado.
Para instalar wmctrl, ejecuta:
sudo apt-get install wmctrl
Una vez hecho esto, enumera todas las ventanas y sus ID:
wmctrl -l
El resultado será similar a este:
0x03c00003 0 hostname Firefox 0x04a00004 0 hostname Terminal 0x05000005 0 hostname Code
A continuación, ejecuta xkill con el ID deseado, por ejemplo:
xkill -id 0x03c00003
El comando top proporciona una vista interactiva en tiempo real del uso de recursos y los procesos en ejecución. Es útil para identificar y matar procesos que consumen recursos excesivos o que dejan de responder.
Como se ha explicado anteriormente, puedes escribir top en tu terminal para iniciarlo. Para navegar por la lista de procesos, utiliza las teclas de flecha. Pulsa Mayús + P para ordenar los procesos por uso de la CPU, mientras que Mayús + M los ordena por uso de la memoria.
... PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 169364 8824 6508 S 0.0 0.2 0:05.14 systemd 512 user 20 0 120364 6024 2508 S 1.0 0.1 0:02.04 firefox 789 user 20 0 140364 7624 3208 R 2.0 0.3 0:03.22 chrome ...
Una vez que hayas identificado el proceso que deseas finalizar, pulsa K.
top te pedirá que introduzcas el PID del proceso que deseas eliminar. A continuación, deberás especificar la señal que deseas enviar al proceso.
Pulsa Intro para enviar la señal SIGTERM predeterminada o escribe un número de señal diferente si es necesario.
Por ejemplo, para eliminar el proceso chrome con PID 789 utilizando SIGKILL:
k PID to kill: 789 Send signal (15): 9
Además, para ver los procesos que pertenecen a un usuario específico, inicia top con la opción -u como se muestra a continuación:
top -u john
También puedes personalizar las columnas que se muestran en top pulsando F. De esta forma, puedes añadir o eliminar columnas y ordenarlas según diferentes criterios.
Saber cómo identificar y matar procesos en Linux no solo te permite resolver errores puntuales: también te da control total sobre cómo se comporta tu sistema.
Al dominar comandos como kill, pkill, killall, xkill y top, puedes gestionar eficazmente los recursos, optimizar el rendimiento y evitar bloqueos inesperados en tu entorno de trabajo o servidor.
Más allá de detener procesos, esta práctica forma parte de una buena administración del sistema. Entender qué tareas se ejecutan, cuánta memoria consumen y cuándo intervenir te ayudará a mantener un entorno estable y seguro.
Si trabajas con servidores remotos o entornos VPS, aplicar estos conocimientos te permitirá diagnosticar problemas más rápido y mantener tus servicios en línea sin interrupciones. Con el tiempo, aprenderás a automatizar tareas y a mantener tus procesos bajo control incluso en los sistemas más complejos.
Todo el contenido de los tutoriales en este sitio web está sujeto a los rigurosos estándares y valores editoriales de Hostinger.