kill

¿Cómo cancelar un proceso con el comando Kill en Linux?

Las tareas de Linux se nombran procesos. Cada uno de estos, tiene un ID de proceso en particular. Si quieres terminar un proceso en Linux puedes utilizar el comando kill. A lo largo de este artículo, te enseñaremos la manera para cancelar un proceso usando comandos de Linux, para mejorar tus habilidades de administración de VPS.

En varios escenarios, puedes iniciar una aplicación o un servidor, olvidarte de él y luego necesitar apagarlo. Para estos casos, puedes emplear este comando.

kill
¿Cómo cancelar un proceso con el comando Kill en Linux?

Veamos varios ejemplos donde este comando es útil:

  • Para forzar la detención de cualquier proceso que se ejecute en Linux.
  • Para detener cualquier proceso automatizado.
  • Para detener un proceso en segundo plano.
  • Para detener un proceso que consume mucha memoria.
  • Para detener un proceso que ha comenzado por accidente.

No solo se utiliza para detener un proceso, sino que puede utilizarse para otras funciones. Como, por ejemplo, enviar una señal a un proceso. De manera predeterminada, esto se entiende como una señal TERM, la cual finalizará el proceso.

Cómo mostrar el ID del proceso en Linux

Entonces, hemos visto que este comando te autoriza a terminar un proceso utilizando un ID de proceso en particular, que es conocido como pid. Si queremos mostrar un pid en Linux, tendremos que ejecutar el próximo comando:

ps

Lo que hará, es listar todos los procesos disponibles y sus pid. En caso de que quieras que tu lista sea más detallada, puedes añadir un comando grep:

ps -ux | grep java

Esto enseñará todos los procesos de Java que se ejecutan en la salida.

Cómo mostrar todas las señales del comando Kill

Hay una gran variedad de señales disponibles en Linux que se pueden utilizar para finalizar, interrumpir o pausar procesos. El comando se puede emplear de la siguiente forma:

kill -l

Este comando te enseñará las distintas señales del mismo, con sus nombres y números correspondientes. Hay varias señales disponibles, pero generalmente se suele utilizar SIGKILL (9) y SIGTERM (15).

Cómo terminar un proceso en Linux utilizando el terminal

Ahora veamos los distintos usos del comando. Primero, debes acceder a tu servidor VPS utilizando SSH.

kill
¿Cómo cancelar un proceso con el comando Kill en Linux?

Utilizar el comando con un PID

Para terminar un proceso en particular con un PID, puedes emplear el próximo comando:

kill 63372

63372 es el pid del proceso que se desea finalizar, puedes reemplazarlo por el pid que corresponda. Como no se determina ninguna señal, esta será una señal SIGTERM. Puede darse el caso de que no funcione, si eso sucede, tal vez debas forzar la cancelación del proceso.

Para realizarlo, puedes utilizar el formato del comando que se muestra a continuación:

kill [Señal_u_Opción] pid

Un ejemplo para cerrar de manera forzada un proceso utilizando este formato es el siguiente:

kill SIGKILL 63372

De la misma forma, si deseas una versión más sencilla de este comando puedes emplear:

kill -9 63372

Como hemos visto antes, tienes que remplazar 63372 con el pid correspondiente para que este proceso termine.

Cómo finalizar varios procesos en Linux

Con este comando, también puedes cancelar varios procesos. La sintaxis sería la siguiente:

kill -9 pid1 pid2 pid3

Un ejemplo de cómo se visualizará al aplicarlo es el próximo:

kill -9 63372 45116 23465

Cómo terminar un proceso en Linux utilizando el comando Pkill

kill
¿Cómo cancelar un proceso con el comando Kill en Linux?

Este es una variación del comando original. Con ella, puedes especificar el nombre del proceso o un patrón para localizar un proceso:

pkill chrome

El comando de arriba cerrará el navegador Chrome. Otra manera de hacerlo, es especificar una parte del nombre del proceso en la sintaxis. Veamos un ejemplo:

pkill chr

Aun así, al usar este comando corres el riesgo de cancelar el proceso incorrecto, más que nada cuando se encuentra varios procesos con el mismo nombre.

Lo que puedes hacer, es consultar la lista de procesos que el comando puede considerar usando el nombre completo del proceso:

pidof chrome

Este comando se puede emplear una vez que conozcas el nombre completo del proceso.

Además, puedes comprobar los procesos coincidentes con un nombre parcial:

pgrep -l chr

Este comando generará una lista con los procesos que concuerden con “chr”, junto al ID del proceso.

Cómo terminar un proceso en Linux utilizando el comando Killall

La principal diferencia entre este comando y el original, es que killall puede finalizar el proceso por nombre, al contrario que el original que utiliza el pid.

Veamos un ejemplo de este comando:

killall chrome

Es similar al comando que vimos anteriormente. Aun así, este comando hace una coincidencia de nombre exacto, mientras que pkill puede generar una coincidencia de patrón. Esto que mencionamos, es una de las principales ventajas que tiene este comando en comparación al anterior.

Otra diferencia es el paquete raíz al que pertenecen estos comandos. En Linux, killall pertenece al paquete psmisc. Por el otro lado, el comando que vimos anteriormente pertenece al paquete procps.

Otra de las diferencias entre estos comandos, es que killall se puede personalizar para acabar procesos que se basan en marcas de tiempo. Por ejemplo, si deseas terminar un proceso que se ha estado ejecutando durante menos de 40 minutos, tienes la posibilidad de utilizar:

killall -y 40m [Nombre_de_proceso>]

De igual forma, puedes emplear las siguientes opciones junto a este comando:

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

Conclusión

A lo largo de este artículo, hemos visto el comando kill y sus variaciones más importantes y útiles.

No te olvides de visitar nuestro sitio web aquí.

Emanuel Duarte
Emanuel Duarte

Emanuel Duarte es un apasionado de las tecnologías y el uso de ellas para el armado de desarrollo web, cuya especialización es la principal plataforma del mercado: Wordpress.
Adicionalmente, se destaca por conocer las herramientas aledañas que convierten los sitios webs en confiables, seguros y ágiles.