Cómo cancelar un proceso con el comando kill en Linux
Las tareas en Linux se denominan procesos. Cada proceso tiene una ID de proceso única. Para finalizar un proceso en Linux podemos usar el comando kill. En este tutorial, te mostraremos cómo cancelar un proceso utilizando comandos de Linux, para mejorar tus habilidades de administración de VPS.
A veces, puedes iniciar un servidor o una aplicación, olvidarte de él y después necesitar apagarlo. En estos escenarios, puedes usar el comando kill.
A continuación hay algunos ejemplos en los que el comando kill puede ser útil:
- Para detener cualquier proceso automatizado.
- Para detener un proceso que se ha iniciado por accidente.
- Para detener un proceso que consume mucha memoria.
- Para forzar la detención de cualquier proceso que se ejecute en Linux.
- Para detener un proceso en segundo plano.
Además de detener un proceso, el comando kill tiene otras funciones. Como, por ejemplo, enviar una señal a un proceso. Por defecto, esto se toma como una señal TERM, la cual terminará el proceso.
Tabla de Contenidos
Cómo mostrar el ID del proceso en Linux
El comando kill te permite terminar un proceso utilizando un ID de proceso específico, también conocido como pid. Para mostrar un pid en Linux, puedes ejecutar el siguiente comando:
ps
Esto listará todos los procesos disponibles y sus pid. Si deseas que tu lista sea más específica, agrega un comando grep como este:
ps -ux | grep java
Esto mostrará todos los procesos de Java que se ejecutan en la salida.
Cómo mostrar todas las señales del comando Kill
Hay múltiples señales disponibles en Linux que pueden usarse para interrumpir, finalizar o pausar procesos. El comando kill se puede usar de la siguiente manera:
kill -l
Este comando mostrará una página con las diferentes señales del comando kill, con sus nombres y números correspondientes. Si bien hay varias señales disponibles, en la mayoría de los casos se usa SIGKILL (9) y SIGTERM (15).
Cómo finalizar un proceso en Linux usando el terminal
Ahora sí estamos listos para seguir adelante y aprender los diferentes usos del comando kill. Para continuar, accede a tu servidor VPS usando SSH.
Usar el comando Kill con un PID
Para finalizar un proceso específico con un PID, usa el siguiente comando:
kill 63772
Aquí 63772 es el pid del proceso que queremos cancelar, puedes reemplazarlo por el pid que corresponda. Como no se especifica ninguna señal, esta será una señal SIGTERM. A veces, esto puede no funcionar; en ese caso, quizás tengas que forzar la cancelación del proceso.
Para eso puedes usar el formato del comando kill que se muestra a continuación:
kill [Señal_u_Opción] pid
Te damos un ejemplo de cómo cerrar forzadamente un proceso haciendo uso de dicho formato:
kill SIGKILL 63772
Del mismo modo, si quieres una versión más corta de este comando puedes usar:
kill -9 63772
Como mencionábamos antes, debes reemplaza 63772 con el pid correspondiente para que el proceso finalice.
Cómo cancelar múltiples procesos en Linux
Con kill de Linux también puedes finalizar múltiples procesos. La sintaxis para el comando en este caso sería:
kill -9 pid1 pid2 pid3
Te damos un ejemplo de cómo se vería al aplicarlo:
kill -9 63772 45116 23465
Cómo finalizar un proceso en Linux usando el comando Pkill
Pkill es una variación del comando kill. Con esta variación puedes especificar el nombre del proceso o un patrón para encontrar un proceso:
pkill chrome
El comando anterior cerrará el navegador Chrome. También puedes especificar una coincidencia parcial del nombre del proceso en la línea de comando. Ejemplo:
pkill chr
Sin embargo, este comando tiene asociado el riesgo de cancelar el proceso incorrecto, especialmente cuando hay múltiples procesos con el mismo nombre.
Puedes consultar la lista de procesos que el comando podría considerar utilizando el nombre completo del proceso:
pidof chrome
Este comando se puede usar cuando conoces el nombre completo del proceso.
También puedes verificar los procesos coincidentes con un nombre parcial:
pgrep -l chr
Este comando listará los procesos que coincidan con “chr”, junto al ID del proceso.
Cómo cancelar un proceso en Linux usando el comando Killall
La diferencia básica entre killall y kill es que killall puede terminar el proceso por nombre mientras el comando kill usa el pid.
Un ejemplo de este comando es:
killall chrome
Esto es similar a pkill. Sin embargo, killall hace una coincidencia de nombre exacto, mientras que pkill puede hacer una coincidencia de patrón. Esta es una de las razones por las que killall es más seguro en comparación con pkill.
Una diferencia más es el paquete raíz al que pertenecen estos comandos. En Linux, killall pertenece al paquete psmisc. Mientras que, por otro lado, comandos como ps, top, kill, pkill pertenecen al paquete procps.
Otra diferencia es que killall se puede personalizar para finalizar procesos basados en marcas de tiempo. En caso de que desees eliminar un proceso específico que se haya estado ejecutando durante menos de 40 minutos, puedes usar:
killall -y 40m [Nombre_de_proceso>]
De manera similar, puedes usar las siguientes opciones junto al comando killall:
- s – segundos
- m – minutos
- h – horas
- d – días
- w semanas
- M – meses
- y – años
Conclusión
Con este tutorial cubrimos el comando kill junto a sus variaciones más importantes y útiles. Para obtener más información sobre esta herramienta esencial, puedes consultar el manual de Linux. ¡Buena suerte con tu proyecto, nos vemos en el próximo tutorial!