Aprende de manera fácil, cómo usar los comandos Kill, Pkill y Killall para matar cualquier proceso de Linux desde la terminal.
UNIX trata todos los objetos del sistema operativo como un archivo. Podemos encontrar los archivos asociados con cada acción realizada y usarlos para diferentes manipulaciones relacionadas con el sistema o el proceso.
Un proceso, también conocido como una tarea, es la forma en ejecución de un programa. Los programas se almacenan en el disco y los procesos se ejecutan en la memoria. Los procesos tienen una relación padre/hijo. Un proceso puede generar uno o más hijos. Se pueden ejecutar múltiples procesos en paralelo.
1. Obtener el PID de cualquier proceso/tarea
Si deseas ver el PID (Process ID) de cualquier proceso en ejecución, tengo para ti las 4 mejores maneras a través de las cuales puedes obtener fácilmente el PID de todos los procesos en ejecución.
- Con el comando pidof, simplemente debes mencionar el nombre del proceso que enumera todos los PID asociados con ese proceso.
pidof
- Para el comando
pgrep
, la sintaxis es la misma quepidof
pero mostrará todos los PID en modo vertical.
pgrep
- Con el comando
pstree
, se genera la lista de procesos organizada en un patrón similar a un árbol que muestra las relaciones padre/hijo entre los procesos.
Entonces, por ejemplo, si deseas finalizar el servicio de Apache, simplemente anota la ID del proceso principal del Servicio de Apache (4509) y elimina directamente utilizando los comandos kill, killall o pkill.
pstree -p | grep ""
- Y por último, pero no menos importante, lo mismo se puede hacer con la ayuda del comando
ps
como se muestra a continuación:
ps aux | grep ""
2. Comando Kill
Este comando simplemente envía una señal para terminar uno o más identificadores de proceso (Process ID). Debe ser propietario del proceso o ser un usuario privilegiado. Si no se especifica ninguna señal, se envía TERM.
Por ejemplo, si deseas finalizar el proceso de Apache, debes mencionar el PID del Servicio de Apache, que ya descubrimos desde el primer comando.
kill <PID>
Además, incluso puedes verificar el estado de Apache Service si tu servicio se ha detenido o no, escribiendo “service apache2 status
” o “pstree -p | grep apache2
” (Si no muestra salida, significa que el servicio no se está ejecutando)
3. Comando Pkill
pkill
significa process kill y es una utilidad de línea de comando que permite a los usuarios matar o terminar el proceso en Linux a través de PID o nombre del proceso. Toma nota, pkill eliminará todos los procesos que coincidan con el nombre del proceso. Permite patrones extendidos de expresión regular y otros criterios coincidentes.
Por ejemplo, si deseas eliminar todos los procesos de apache, el comando es:
pkill -e apache
Donde -e significa modo echo.
Y vuelve a ejecutar el comando pstree
una vez más para verificar si el proceso ha finalizado o no.
4. Comando Killall
El único beneficio de usar este comando killall
es que puedes matar cualquier proceso con solo el nombre del comando. Si más de un proceso está ejecutando el comando especificado, matará a todos.
Por ejemplo, si deseas finalizar el servicio de Apache, el comando es:
killall -v apache2
Donde -v representa el modo verbose/detallado.
¿Qué te parecieron éstos comandos presentados? Si te ha sido útil, por favor, no dudes en compartirlo en tus redes sociales :’)