
Bienvenidos a este capítulo del Curso de Linux para Hackers – Matar Procesos desde la Shell. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.
Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.
En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.
Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Conceptos que aprenderás en esta sección:
- Eliminar procesos en Linux: cómo y cuándo matar procesos que dejan de responder o consumen demasiados recursos.
- Permisos necesarios para eliminar procesos: diferencia entre permisos de usuario y de root.
- Señales de terminación de procesos (
SIGKILL
ySIGTERM
): cómo funcionan las señales de finalización y en qué casos usarlas. - Identificación de procesos (PID): cómo localizar el PID de un proceso.
- Comando
kill
y otras herramientas: comandoskill
,pkill
,killall
y sus variantes para cerrar procesos.
Eliminar procesos en Kali Linux
En algunos casos, es posible que haya notado que cuando un proceso de Linux deja de responder o consume muchos recursos, no le queda otra opción que cerrarlo. Sin embargo, este tipo de situaciones no siempre se dan. Por lo tanto, la mayoría de los procesos tienen sus propios métodos de cierre para evitar este tipo de situaciones.
Desafortunadamente, también hay otros tipos de procesos que pueden funcionar mal y no se detienen por sí solos. Por lo tanto, si un proceso en segundo plano en ejecución deja de responder o consume más recursos de los que debería, se hace necesario cerrarlo o cerrarlo mediante un proceso o método conocido como “kill Process” (Matar proceso).
¿Qué procesos puedes eliminar en Linux?
Antes de finalizar o matar un proceso, debe tener en cuenta los permisos necesarios para finalizar un proceso, especialmente cuando no tiene acceso a la cuenta raíz. Sin embargo, si tiene acceso a la cuenta raíz o es el único propietario del sistema, en ese caso, tiene el poder de finalizar cualquier tipo de proceso en cualquier momento. De lo contrario, un usuario normal que no tenga acceso a la cuenta raíz puede usar “sudo” en el prefijo del comando al finalizar un proceso mediante la línea de comandos.
¿Qué pasa cuando matas un proceso?
Cada vez que un usuario finaliza un proceso, en realidad envía una señal al proceso de destino, que se denomina señal de finalización o mensaje de terminación. Sin embargo, existen varios tipos de mensajes de finalización y algunos de ellos son los siguientes:
- SIGKILL: generalmente se considera la forma definitiva de matar un proceso. Siempre matará un proceso y lo hará de manera abrupta, generando un error fatal. SIGKILL siempre debería funcionar. Sin embargo, si SIGKILL no funciona, significa claramente que el sistema operativo ha fallado.
- SIGTERM: generalmente se considera un método menos eficaz porque intenta lo mejor que puede para matar un proceso, pero a diferencia de SIGKILL, se puede bloquear o manejar de otra manera. Por lo tanto, se puede considerar una forma más suave de intentar terminar un proceso.
Entonces, podemos decir que para la mayoría de los propósitos, será mejor utilizar los métodos que utilizan la señal “SIGKILL” para matar un proceso de la manera más segura y rápida.
¿Cómo matar un proceso?
Existen múltiples formas de matar un proceso, pero aquí veremos el método más utilizado y universal que puedes utilizar en cualquier sistema operativo basado en Linux. Aunque matar un proceso suele incluir tres pasos principales que veremos uno por uno.
Matar un proceso
Ahora que hemos rastreado los procesos, podemos matar un proceso. Hay varios comandos que se utilizan para matar un proceso, como kill , kill , top y pkill.
Antes de matar un proceso, es necesario saber qué procesos podemos matar. A continuación, se presentan algunos puntos esenciales sobre la eliminación de procesos:
- Si es un usuario normal, solo puede eliminar los procesos que le pertenecen. No puede eliminar los procesos que ejecutan otros usuarios. Los comandos top y ps aux muestran los usuarios con el proceso relacionado.
- Un usuario root puede matar todos los procesos, pero también podemos agregar sudo antes de cualquier comando para ejecutarlo como root.
- En Linux, cuando se termina un proceso, se transmite una señal especial a los procesos. Aunque existen varios tipos de señales en Linux, en este caso, Linux se ocupa de las señales SIGKILLS y SIGTERM . De forma predeterminada, Linux envía la señal SIGTERM, que termina el proceso sin problemas. Si desea terminar un proceso de forma forzada, utilice SIGKILL en su lugar.
- Linux conserva el estado de los procesos hasta que se eliminan por completo del sistema. Por lo tanto, los procesos secundarios se mostrarán en la lista de procesos hasta que se elimine un proceso principal.
- No podemos matar un proceso si se encuentra en «suspensión ininterrumpida «. Esta situación se produce cuando un proceso realiza una operación de entrada/salida. Este estado se puede ver en la octava columna del comando top y ps aux.
Cómo saber el PID
Para utilizar comandos de terminación, es necesario conocer diferentes PID. El PID de un proceso se puede averiguar con el siguiente comando:
Sintaxis:
ps -A

Matar un proceso con el comando kill
Los procesos en Linux pueden encontrarse en diferentes estados durante su vida útil, por lo cual a veces tenemos que administrar el estado de los mismos.
Una de las situaciones más común en la administración de procesos es que, ya sea porque el proceso no está reaccionando, el programa se encuentra colgado, o porque simplemente no queremos que siga en ejecución, necesitemos matarlo. Para ello utilizaremos el comando ―kill. Si miramos el flag -l podremos ver las posibles señales que podemos enviar a los procesos.

El comando kill es la utilidad más sencilla para matar un proceso; todo lo que necesitamos es el PID de un proceso. Una vez que obtenemos el PID del proceso, es un proceso sencillo. Para terminar un proceso, ejecute el comando kill seguido del PID. Para localizar el PID de un proceso, utilice el comando top o ps aux, como se explicó anteriormente.

Para matar un proceso que tenga PID 5296, ejecute el comando de la siguiente manera:
kill 3421540

Para finalizar un proceso de forma forzada, utilice la opción -SIGKILL o -9:

Kill -SIGKILL 3423355

El comando anterior finalizará el proceso con PID 3423355

En este ejemplo pueden que le proceso «cacafire» se está ejecutando. Luego de ejecutar el ―kill seguido de los 2 PID que deseo terminar, al ejecutar nuevamente el ―ps Veo que efectivamente el proceso ya no existe.

Otra de las formas de administrar procesos en Linux es mediante el cambio de prioridad de los mismos. Esto quiere decir que podemos darles preferencia a unos u otros para acceder a los recursos del sistema, concretamente al CPU.
Para cambiar la prioridad de un CPU usaremos el comando ―nice o ―renice asignándole un número del -20 a 19 al proceso que queremos modificar. Siendo -20 el valor más elevado, es decir el de mayor prioridad en cuanto a utilización de CPU. ―nice se utiliza para arrancar un proceso con una determinada prioridad:


En cambio el comando ―renice se utiliza para cambiar la prioridad de un proceso ya existente.

Para ver la prioridad de los procesos utilizaremos el comando ―ps con los flags ―-fl

También te recomendamos consultar las páginas man para este comando:
man kill

Resumen de los puntos clave:
- Eliminar procesos en Linux y permisos necesarios
Para cerrar un proceso problemático, es importante tener permisos suficientes. Los usuarios normales pueden matar solo los procesos que iniciaron. En cambio, un usuario root o con permisos sudo puede matar cualquier proceso. Las herramientastop
yps aux
muestran los usuarios a cargo de cada proceso. - Señales de terminación de procesos: SIGKILL y SIGTERM
SIGKILL
(-9): termina forzosamente el proceso, sin permitir que se guarden cambios. Útil para procesos que no responden.SIGTERM
: solicita una terminación «suave» del proceso. Si el proceso puede cerrarse normalmente, esta señal le permite hacerlo sin forzar.
- Cómo localizar el PID de un proceso
Para matar un proceso, necesitas conocer su PID, que puedes obtener conps -A
,top
, ops aux
. Ejemplo:ps -A | grep <nombre_proceso>
- Matar un proceso con el comando
kill
Una vez que se conoce el PID, se puede matar un proceso de forma estándar o forzada:- Finalización suave:
kill <PID>
- Finalización forzada (SIGKILL):
kill -9 <PID>
- Finalización suave:
kill
y otras variantes (pkill
,killall
)pkill <nombre>
: mata todos los procesos que coincidan con el nombre del proceso especificado.killall <nombre>
: similar apkill
, pero con soporte de opciones adicionales para filtrar por usuario u otras condiciones.
- Cambio de prioridad de procesos con
nice
yrenice
Para modificar la prioridad de CPU de un proceso:nice -n <valor> <comando>
: inicia un proceso con la prioridad especificada, donde -20 es la prioridad máxima.renice <valor> -p <PID>
: ajusta la prioridad de un proceso en ejecución.
- Ver prioridad de procesos con
ps -fl
Usandops -fl
, puedes ver la prioridad actual de los procesos junto con el estado y otros detalles.
Con estos comandos, puedes identificar y eliminar procesos problemáticos, así como ajustar la prioridad de recursos para optimizar el rendimiento en sistemas Linux.
Pon en práctica lo aprendido
Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.
Preguntas
- ¿Qué es un proceso
kill
y en qué situaciones es necesario utilizarlo en Linux? - ¿Cuál es la diferencia entre las señales
SIGKILL
ySIGTERM
al matar un proceso? - ¿Qué permisos se requieren para eliminar un proceso en Linux y cómo afectan a usuarios normales y al usuario root?
- ¿Por qué un proceso en estado de «suspensión ininterrumpida» no puede ser eliminado?
- ¿Cómo se identifica el PID de un proceso antes de matarlo?
- ¿Qué comando se utiliza para matar un proceso específico usando su PID?
- ¿Cómo se usa el comando
kill
para forzar la finalización de un proceso y cuál es su sintaxis? - ¿Qué utilidad tiene el comando
ps -A
en la administración de procesos? - ¿Cómo se cambia la prioridad de un proceso en ejecución y cuál es la diferencia entre
nice
yrenice
? - ¿Qué comando se utiliza para ver la prioridad de los procesos en ejecución y cómo se interpreta el valor de prioridad?
Ejercicios
- Use el comando
ps -A
para listar todos los procesos y localice el PID de un proceso en ejecución. - Utilice
kill
para terminar un proceso específico usando su PID, y verifique que ya no esté en la lista de procesos. - Ejecute
kill -9 <PID>
para forzar la finalización de un proceso y explique la diferencia con el comandokill
sin opciones. - Encuentre y termine un proceso que esté ocupando demasiados recursos usando
top
para localizarlo ykill
para finalizarlo. - Ejecute el comando
kill -l
y liste tres señales que se pueden enviar a los procesos junto a sus descripciones. - Cambie la prioridad de un proceso utilizando
nice
para iniciarlo con una prioridad específica y verifique su prioridad contop
. - Utilice
renice
para modificar la prioridad de un proceso en ejecución y confirme el cambio enps -fl
. - Ejecute
ps aux
y describa el estado de un proceso en «suspensión ininterrumpida» usando la octava columna de la salida. - Consulte el manual de
kill
y explique cómo enviar una señal específica que no seaSIGKILL
oSIGTERM
a un proceso. - Ejecute
ps -fl
para ver las prioridades de los procesos en ejecución y compare los valores de prioridad de tres procesos diferentes.
Respuestas a las Preguntas
- Proceso
kill
en Linux: Permite finalizar procesos que no responden o consumen demasiados recursos, enviando una señal de terminación. - Diferencia entre
SIGKILL
ySIGTERM
:SIGKILL
fuerza el fin inmediato del proceso, mientras queSIGTERM
solicita una terminación limpia y puede ser bloqueado. - Permisos para eliminar procesos: Un usuario normal puede eliminar solo sus procesos; el usuario root o un usuario con permisos
sudo
puede eliminar cualquier proceso. - Estado de «suspensión ininterrumpida»: Indica que el proceso está esperando una operación de entrada/salida y no responde a señales de terminación.
- Identificar PID: Se puede localizar el PID con
ps -A
otop
. - Comando para matar proceso por PID:
kill <PID>
. - Forzar finalización con
kill
: Usarkill -9 <PID>
okill -SIGKILL <PID>
fuerza el cierre del proceso. - Utilidad de
ps -A
: Muestra todos los procesos en ejecución y sus PIDs, útil para localizar procesos para finalizarlos o administrarlos. - Cambiar prioridad con
nice
yrenice
:nice
inicia procesos con prioridad específica;renice
ajusta la prioridad de procesos ya en ejecución. - Ver prioridades con
ps -fl
: Muestra las prioridades (NI
), donde valores menores indican mayor prioridad en el uso de CPU.
Respuestas a los Ejercicios
- Listar procesos con
ps -A
: Muestra todos los procesos activos y sus PIDs, como1234
paranano
. - Terminar proceso con
kill
:kill 1234
elimina el proceso1234
. Verificar enps
otop
que ya no aparece. - Forzar fin de proceso con
kill -9
:kill -9 1234
fuerza el cierre del proceso1234
. A diferencia dekill
,kill -9
envíaSIGKILL
, terminando el proceso de inmediato. - Terminar proceso con alto uso de recursos: Usar
top
para encontrar el PID ykill <PID>
para finalizarlo. - Ejecutar
kill -l
y tres señales:SIGINT
: Interrumpe un proceso.SIGSTOP
: Pausa un proceso.SIGCONT
: Reanuda un proceso pausado.
- Cambiar prioridad con
nice
:nice -n 10 nano
y verificar entop
quenano
tieneNI=10
. - Modificar prioridad con
renice
:renice 5 -p 1234
cambia la prioridad del proceso1234
y verificar conps -fl
. - Estado de «suspensión ininterrumpida» en
ps aux
: En la octava columna, la letraD
indica que el proceso está en suspensión ininterrumpida. - Manual de
kill
y enviar señal específica:kill -SIGUSR1 <PID>
envía una señal de usuario personalizada, comoSIGUSR1
, para que un proceso realice una acción específica. - Ver prioridades en
ps -fl
: CompararNI
de tres procesos:-10
(alta prioridad),0
(predeterminada), y10
(baja prioridad).
No te detengas, sigue avanzando
Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…
- Cómo conseguir trabajo de hacker en 2024
- Trabaja remoto e internacionalmente como Hacker en 2024
- Se necesitan más Hackers – Hechos y estadísticas de 2024
- Se Necesitan más Hackers – La escasez de habilidades en ciberseguridad está empeorando
- El salario de un hacker – Cuanto se gana como Pentesters/ Infosec
- Las empresas te estan buscando para hacerle frente a los ciberataques
- Cómo convertirse en analista de ciberseguridad
- Inicia en hacking y ciberseguridad como analista SOC
- DevOps vs DevSecOps para Hackers
- DevOps vs DevSecOps para Empresas
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores
Álvaro Chirou
Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:
Laprovittera Carlos
Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:
Hacker de 0 a 100 desde las bases hasta conseguir empleo
¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.
Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).
Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).
El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.
SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS
- Cómo Iniciarse en Hacking y Ciberseguridad en 2024
- Hacker de 0 a 100 desde las bases hasta conseguir empleo
- Curso de Redes para Hackers
- Curso Gratis de Programación
- Curso Gratis Linux – Capitulo 1 – Introducción a Linux
- Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios
- Guía de Hacking y Pentesting capitulo 1: Introducción al Pentesting
- Como iniciarse en TRY HACK ME – Complete Beginner #1
- OSINT #1 Más de 200 Search Tools
- Curso Gratis de Java para Hackers
- Hardware para Hackers – Los mejores 40 Dispositivos de Hacking
- Guía de Flipper Zero – Qué es y para qué sirve
- SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG
Aprende con nuestros más de 100 cursos que tenemos disponibles para vos
Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.
Saludos amigos y happy hacking!!!