GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre los comandos kill y killall?

Desde foros de Linux hasta memes de Linux, encontrará dos comandos para forzar el final de los programas en Linux; matar y matar a todos.

Si bien muchos usuarios de Linux conocen el comando kill, no mucha gente conoce y usa el comando killall.

Y podría ser confuso para la gente de todos modos. Ambos comandos tienen un nombre que suena similar y un propósito similar (finalizar procesos).

Entonces, ¿cuál es la diferencia entre matar y matar a todos? ¿Qué comando debería usar y en qué caso debería usarlos?

Diferencia entre los comandos kill y killall

El comando de eliminación funciona en el ID de proceso (PID) y elimina los procesos para los que proporciona los PID. Por otro lado, el comando killall funciona en el nombre del proceso y elimina todos los procesos con los nombres de proceso dados. Por ejemplo, si hay tres instancias de mysqld corriendo, el killall matará a los tres con killall mysqld mientras que debe proporcionar los PID de las tres instancias para matar el comando como kill PID1 PID2 PID3 .

En palabras más simples, el comando kill funciona con PID (a menudo PID individual) y el comando killall funciona con el nombre del proceso y elimina todos los procesos con el nombre del proceso.

Déjame mostrarte eso en acción.

Comienzo tres instancias de un programa llamado evince y lo envío al fondo (sigue ejecutándose pero devuelve el control a la terminal).

evince &
evince &
evince &

Ahora, tengo tres programas ejecutándose con el nombre de proceso evince pero con diferentes ID de proceso.

Para forzar la detención del proceso con el comando kill, debe proporcionar los PID de los procesos deseados.

kill PID1

Sin embargo, proporcione el nombre del proceso al comando killall y eliminará todas las instancias en ejecución con esos nombres de proceso.

killall evince

Eche un vistazo a la captura de pantalla a continuación para ver todos los comandos en acción:

Como puede notar aquí, necesita saber el ID del proceso para el comando kill y necesita encontrar el nombre del proceso para el comando killall.

¿Cuál deberías usar? ¿Matar o Matar a todos?

Dado que el comando kill funciona con procesos individuales, es más seguro. Después de todo, antes de ejecutar el comando killall, debe asegurarse de que no haya ningún proceso en ejecución con un nombre similar que no desee eliminar.

Espero que ahora tengas una idea clara de los comandos kill y killall. No dude en dejar una pregunta o sugerencia.


Linux
  1. ¿Cuál es la diferencia entre &(ampersand) y &&(doble ampersand) al ejecutar comandos simultáneos en Linux?

  2. ¿Cuál es la diferencia entre fsck y e2fsck?

  3. ¿Cuál es la diferencia entre adduser y useradd?

  4. ¿Cuál es la diferencia entre `su -` y `su --login`?

  5. ¿Cuál es la diferencia entre unlink y rm?

¿Cuál es la diferencia entre Linux y Unix?

La diferencia entre más, menos y la mayoría de los comandos

¿Cuál es la diferencia entre el comando Cat y Touch?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?