Bienvenidos a este capítulo del Curso de Linux para Hackers – Matar Procesos desde la Shell II. 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:

  1. Comando killall para eliminar procesos por nombre: cómo utilizar killall para finalizar todos los procesos con un nombre específico.
  2. Comando pkill para eliminar procesos con coincidencia de nombre: cómo usar pkill para matar procesos de manera flexible.
  3. Eliminar procesos usando top: cómo finalizar procesos desde el monitoreo en tiempo real.
  4. Monitor del sistema: cómo finalizar procesos mediante la interfaz gráfica en Linux.
  5. Uso de xkill para cerrar ventanas activas: cómo cerrar aplicaciones gráficas con xkill.
  6. Señales comunes de terminación de procesos: listado de señales comunes en Linux para manejar procesos.

Matar un proceso con el comando killall

El comando killall es la técnica más sencilla para matar un proceso si conoce el nombre exacto del proceso, no lo está ejecutando ningún otro usuario y no está en estado Z o D. En el comando kill all, no es necesario localizar el proceso o PID. Para matar un proceso, ejecute el comando de la siguiente manera:

killall nano

El comando anterior finalizará el proceso y cerrará el navegador nano. Observe el siguiente resultado:

Si el comando mata exitosamente el proceso, no dará ningún resultado.

Para matar el proceso a la fuerza, ejecute el comando killall con -SIGKILL de la siguiente manera:

killall -SIGKILL nano

También podemos utilizar -9 en lugar de -SIGKILL. Para matar un proceso de forma interactiva, ejecute el comando de la siguiente manera:

killall -i nano

Para matar un proceso como un usuario diferente, ejecute el comando de la siguiente manera:

sudo killall nombre_del_proceso  

También podemos matar un proceso durante un período de tiempo fijo utilizando los indicadores -o y -y . Para matar un proceso que ha estado ejecutándose durante más de 20 minutos, ejecute el siguiente comando: killall -o 20m process_name

Para matar un proceso que ha estado ejecutándose durante menos de 20 minutos, ejecute el siguiente comando:

killall -y 5s nombre_proceso  

Las abreviaturas para utilizar el período de tiempo son las siguientes:

  • segundos: s
  • minutos: m
  • horas: h
  • días: d
  • semanas: w
  • meses: M
  • años: y

El comando killall tiene más opciones que puedes explorar

killall --help

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

 man killall

Matar un proceso con el comando pkill

A veces no sabemos el nombre exacto del proceso; en tal caso, el comando pkill será la utilidad más útil para matar un proceso. Nos permite matar un proceso ingresando el nombre que coincida con el proceso. Por ejemplo, queremos matar todos los procesos con el nombre que coincida con nano, ejecutamos el comando de la siguiente manera:

 pkill nano 

Cerrará todos los procesos que contengan el nombre java. De manera similar, para cerrar un proceso de Firefox, ejecute el siguiente comando:

Si el comando pkill se ejecuta correctamente, no mostrará ningún resultado.

Para matar un proceso a la fuerza mediante el comando pkill, ejecútelo de la siguiente manera:

pkill -SIGKILL nombre_del_proceso

También podemos utilizar -9 en lugar de -SIGKILL.  

El comando pkill tiene más opciones que puedes explorar

pkill --help

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

 man pkill

Matar un proceso con el comando top

El comando top nos permite localizar y matar el proceso. Es un proceso sencillo para terminar un proceso usando el comando top. Primero, ejecute el comando top para localizar el proceso y presione la tecla ‘k’ mientras se ejecuta el comando. Esto lo sumergirá en el modo de eliminación de procesos, ingrese el PID del proceso que desea eliminar. Considere el siguiente resultado:

Matar un proceso mediante el Monitor del sistema

También podemos finalizar un proceso mediante el entorno gráfico de Linux llamado monitor del sistema. Para finalizar un proceso mediante el monitor del sistema, siga los pasos que se indican a continuación:

Paso 1: Busque o explore el monitor del sistema, presione Enter para abrirlo. En Kali puede acceder dando clic en el administrador arriba a ala derecha:

Paso 2: Se mostrarán todos los procesos en ejecución de su sistema Linux. Observe la siguiente imagen:

Paso 3: Busque el proceso que desea finalizar y haga clic derecho sobre él.

Paso 4: Selecciona la opción Matar. También podemos usar las teclas CTRL+K para matarlo.

Nombres y números de señales comunes

A continuación se incluye una lista de algunos nombres y números de señales comunes. Tenga en cuenta que estos nombres y números de señales pueden variar. Para obtener información completa sobre las señales, consulte la página del manual de la señal con el comando «man 5 signal» o «man 7 signal».

Sintaxis:

 kill -l  

Ejemplo:

Para matar un proceso que tenga PID 2408, use el siguiente comando

kill -9 2408

Para utilizar el comando xkill

Para utilizar el comando xkill cuando desee cerrar un proceso, escriba xkill en la terminal. El cursor adoptará la forma de una x. Haga clic en la ventana que desee cerrar utilizando el cursor x. Recibirá el siguiente mensaje, como se muestra en la siguiente captura de pantalla.

Resumen de los puntos clave:

  1. Eliminar procesos con killall
    killall finaliza todos los procesos que coincidan exactamente con un nombre. Ejemplo:
    • killall nombre_proceso
      • Forzar eliminación: usa -SIGKILL o -9 (por ejemplo, killall -9 nano) para forzar la finalización.
      • Interactivo: killall -i nombre_proceso pregunta antes de terminar cada proceso.
      • Filtrar por tiempo:
        • -o <tiempo>: mata procesos que han estado activos más de un tiempo (ej., killall -o 20m nombre_proceso).
        • -y <tiempo>: mata procesos que han estado activos menos de un tiempo.
  2. Eliminar procesos con pkill
    pkill permite eliminar procesos usando coincidencias parciales de nombre, útil cuando no se conoce el nombre completo:
    • pkill <parcial_nombre>
      • Forzar eliminación: igual que killall, puedes usar -SIGKILL o -9.
  3. Eliminar procesos desde top
    top permite terminar procesos directamente:
    • Ejecuta top y presiona k para activar el modo de eliminación de procesos.
    • Ingresa el PID del proceso a eliminar y confirma para finalizar el proceso.
  4. Eliminar procesos desde el Monitor del Sistema
    El monitor gráfico permite finalizar procesos de forma visual:
    • Abre el Monitor del Sistema.
    • Encuentra el proceso en la lista, haz clic derecho y selecciona «Matar».
  5. Eliminar aplicaciones gráficas con xkill
    xkill cierra aplicaciones gráficas con un clic:
    • Ejecuta xkill en la terminal, el cursor se convierte en una «X».
    • Haz clic en la ventana que deseas cerrar.
  6. Señales de terminación comunes
    • SIGTERM (15): señal de finalización «suave» que permite al proceso cerrarse normalmente.
    • SIGKILL (9): fuerza la finalización del proceso, útil si este no responde.
    • kill -l: lista las señales disponibles en el sistema.
  7. Comandos y señales adicionales
    Usa man 5 signal o man 7 signal para una referencia completa de señales y su uso en Linux.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas

  1. ¿Qué es el comando killall y en qué casos es útil para eliminar procesos en Linux?
  2. ¿Cómo se usa el comando killall para matar un proceso de forma forzada?
  3. ¿Cuál es la diferencia entre killall y pkill al eliminar procesos?
  4. ¿Cómo se utiliza el comando killall para eliminar procesos que han estado en ejecución por más o menos tiempo que un período específico?
  5. ¿Qué opción permite que killall elimine un proceso de forma interactiva?
  6. ¿En qué caso es preferible usar pkill en lugar de killall?
  7. ¿Cómo se utiliza pkill para forzar la finalización de un proceso?
  8. ¿Qué permite hacer el comando top en relación con la finalización de procesos y cómo se usa?
  9. ¿Cómo se elimina un proceso usando el monitor de sistema gráfico en Linux?
  10. ¿Qué hace el comando xkill y cuándo se utiliza?

Ejercicios

  1. Use killall para terminar todos los procesos llamados nano y verifique que ya no estén en ejecución.
  2. Ejecute killall -SIGKILL <nombre_proceso> y explique qué hace la señal SIGKILL.
  3. Utilice killall -i <nombre_proceso> y describa cómo funciona el modo interactivo.
  4. Elimine todos los procesos que hayan estado ejecutándose durante más de 5 minutos usando killall.
  5. Use pkill para matar un proceso sin conocer su nombre exacto, y explique por qué este comando es útil en este caso.
  6. Ejecute top, seleccione un proceso usando la tecla k, e ingrese su PID para eliminarlo. Verifique su estado después.
  7. Utilice pkill -SIGKILL <nombre_proceso> para finalizar un proceso y explique cómo se diferencia del uso sin opciones.
  8. Finalice un proceso usando el monitor del sistema y verifique que el proceso ya no esté en ejecución.
  9. Ejecute kill -l y liste cinco señales comunes junto con sus funciones.
  10. Utilice xkill para cerrar una aplicación gráfica y describa cómo funciona este comando.

Respuestas a las Preguntas

  1. Comando killall: Finaliza todos los procesos con un nombre específico sin necesidad de conocer el PID. Es útil cuando se necesitan cerrar varias instancias de un mismo proceso.
  2. killall para forzar: Usar killall -SIGKILL <nombre_proceso> o killall -9 <nombre_proceso> finaliza de inmediato todos los procesos con el nombre indicado.
  3. Diferencia entre killall y pkill: killall requiere el nombre exacto del proceso, mientras que pkill permite coincidencias parciales y patrones.
  4. Eliminar procesos por tiempo en killall: killall -o <tiempo> elimina procesos con más tiempo de ejecución que el especificado; -y <tiempo> elimina los que llevan menos tiempo.
  5. Modo interactivo en killall: killall -i <nombre_proceso> solicita confirmación antes de terminar cada proceso, útil para evitar cierres accidentales.
  6. Preferencia por pkill: Ideal cuando no se conoce el nombre exacto de un proceso o se busca eliminar procesos coincidentes con una palabra clave.
  7. Forzar eliminación con pkill: pkill -SIGKILL <nombre_proceso> cierra de inmediato todos los procesos con el nombre indicado.
  8. Finalizar procesos con top: Permite identificar el proceso en ejecución y, presionando k, finalizarlo ingresando su PID.
  9. Eliminar proceso con el monitor del sistema: Permite buscar el proceso en una lista visual, hacer clic derecho y seleccionarlo para eliminar.
  10. xkill: Cambia el cursor a una «x» para cerrar una aplicación gráfica al hacer clic en su ventana. Es útil en entornos gráficos.

Respuestas a los Ejercicios

  1. Eliminar procesos nano con killall: killall nano finaliza todas las instancias de nano. Verificar con ps aux | grep nano que ya no estén.
  2. Uso de killall -SIGKILL: killall -SIGKILL <nombre_proceso> cierra de inmediato el proceso sin permitir que realice operaciones de cierre.
  3. Modo interactivo en killall: killall -i nano solicita confirmación antes de eliminar cada instancia de nano, útil para procesos múltiples.
  4. Eliminar procesos con más de 5 minutos en killall: killall -o 5m <nombre_proceso> finaliza procesos con más de 5 minutos de ejecución.
  5. Uso de pkill sin nombre exacto: pkill firefox elimina todos los procesos que incluyen el nombre firefox, ideal cuando se desconoce el nombre completo.
  6. Finalizar proceso en top: Al ejecutar top, presionar k y el PID del proceso para terminarlo. Comprobar en ps que no esté en ejecución.
  7. pkill -SIGKILL para eliminación forzada: pkill -SIGKILL <nombre_proceso> finaliza procesos de inmediato, sin permitir acciones de cierre.
  8. Eliminar proceso en el monitor del sistema: Ubicar el proceso, hacer clic derecho y seleccionar «Matar». Verificar en la lista que se ha eliminado.
  9. Cinco señales comunes en kill -l:
    • SIGHUP: Reinicia el proceso.
    • SIGINT: Interrumpe (CTRL+C).
    • SIGTERM: Termina de forma amigable.
    • SIGKILL: Finaliza de inmediato.
    • SIGSTOP: Pausa el proceso.
  10. Usar xkill para cerrar una ventana: Ejecutar xkill, el cursor cambia a «x»; hacer clic en una ventana para cerrarla.

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…

¿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

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!!!