Terminar procesos por nombre e ID

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este reto, aprenderás cómo terminar procesos en Linux utilizando diferentes comandos. La gestión de procesos es una habilidad fundamental para cualquier administrador o usuario de Linux, ya que te permite controlar de manera efectiva las aplicaciones y servicios en ejecución.

Logros

  • kill - Enviar una señal a un proceso
  • killall - Terminar todos los procesos por nombre
  • pkill - Terminar todos los procesos por nombre

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/ProcessManagementandControlGroup(["Process Management and Control"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/ProcessManagementandControlGroup -.-> linux/kill("Process Terminating") linux/ProcessManagementandControlGroup -.-> linux/killall("Multi-Process Killing") linux/ProcessManagementandControlGroup -.-> linux/pkill("Pattern-Based Killing") linux/ProcessManagementandControlGroup -.-> linux/bg_process("Background Management") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") subgraph Lab Skills linux/kill -.-> lab-31{{"Terminar procesos por nombre e ID"}} linux/killall -.-> lab-31{{"Terminar procesos por nombre e ID"}} linux/pkill -.-> lab-31{{"Terminar procesos por nombre e ID"}} linux/bg_process -.-> lab-31{{"Terminar procesos por nombre e ID"}} linux/ps -.-> lab-31{{"Terminar procesos por nombre e ID"}} end

Enviar una señal a un proceso

En Linux, cada programa o servicio en ejecución se representa como un proceso con un ID de proceso (PID) único. El comando kill te permite enviar señales a los procesos, siendo la señal más común la utilizada para terminar los procesos.

Hemos ejecutado un proceso de script en segundo plano que escribe continuamente en un archivo de registro. Ahora debes usar kill para enviar una señal y terminarlo.

Requisitos

  • Encontrar el ID de proceso del script en segundo plano (/tmp/background-process.sh)
  • Enviar una señal para terminar este proceso
  • Utilizar solo kill para terminar el proceso

Consejos

  • Utiliza ps aux | grep [process-name] para encontrar el PID de un proceso
  • La señal -9 (SIGKILL) fuerza a un proceso a terminar inmediatamente
  • Recuerda que algunas operaciones requieren privilegios de root (sudo)
✨ Revisar Solución y Practicar

Terminar todos los procesos

Si bien kill es potente para terminar procesos individuales por su PID, Linux ofrece comandos más convenientes cuando necesitas terminar múltiples procesos con el mismo nombre.

Los comandos killall y pkill te permiten terminar procesos por su nombre en lugar de requerir que busques cada PID individualmente. Esto es especialmente útil cuando se trata de múltiples instancias del mismo programa.

En este paso, practicaremos el uso de estos comandos para terminar todas las instancias del servidor web nginx que iniciamos anteriormente.

Requisitos

  • Terminar todos los procesos nginx
  • Utilizar killall o pkill para terminar todos los procesos nginx

Consejos

  • killall requiere una coincidencia exacta del nombre del proceso
  • pkill permite una coincidencia de patrones más flexible
  • Ambos comandos pueden requerir privilegios de root (sudo) para los procesos del sistema
✨ Revisar Solución y Practicar

Resumen

¡Felicidades! Has completado con éxito este reto.

En este reto, has aprendido habilidades esenciales de gestión de procesos en Linux:

  1. Cómo identificar procesos utilizando el comando ps
  2. Cómo terminar un proceso específico por su PID utilizando el comando kill
  3. Cómo terminar múltiples procesos por nombre utilizando killall o pkill

Estos comandos son herramientas fundamentales en el kit de herramientas de un administrador de Linux, lo que te permite gestionar y controlar de manera efectiva los procesos en ejecución. Ya sea que necesites detener una aplicación que no funciona correctamente o reiniciar un servicio, estos comandos te brindan un control preciso sobre los procesos de tu sistema.

¡Sigue aprendiendo y diviértete!