GNU/Linux >> Tutoriales Linux >  >> Linux

Comando matar en Linux

Linux es un gran y avanzado sistema operativo, pero no es perfecto. De vez en cuando, algunas aplicaciones pueden comenzar a comportarse de manera errática y dejar de responder o comenzar a consumir una gran cantidad de recursos del sistema. Las aplicaciones que no responden no se pueden reiniciar porque el proceso de la aplicación original nunca se cierra por completo. La única solución es reiniciar el sistema o cancelar el proceso de aplicación.

Hay varias utilidades que le permiten terminar procesos errantes con kill siendo el más utilizado.

kill Comando #

kill es un shell incorporado en la mayoría de los shells derivados de Bourne, como Bash y Zsh. El comportamiento del comando es ligeramente diferente entre los shells y el /bin/kill independiente ejecutable.

Usa el type comando para mostrar todas las ubicaciones en su sistema que contienen kill :

type -a kill
kill is a shell builtin
kill is /bin/kill

El resultado anterior indica que el shell incorporado tiene prioridad sobre el ejecutable independiente, y se usa cada vez que escribe kill . Si desea utilizar el binario, escriba la ruta completa al archivo /bin/kill . En este artículo, usaremos el Bash incorporado.

La sintaxis de kill comando toma la siguiente forma:

kill [OPTIONS] [PID]...

El kill El comando envía una señal a procesos o grupos de procesos específicos, haciendo que actúen de acuerdo con la señal. Cuando no se especifica la señal, el valor predeterminado es -15 (-TERM).

Las señales más utilizadas son:

  • 1 (HUP ) - Recargar un proceso.
  • 9 (KILL ) - Mata un proceso.
  • 15 (TERM ) - Detener correctamente un proceso.

Para obtener una lista de todas las señales disponibles, invoque el comando con -l opción:

kill -l

Las señales se pueden especificar de tres maneras diferentes:

  1. Uso de número (por ejemplo, -1 o -s 1 ).
  2. Utilizando el prefijo "SIG" (por ejemplo, -SIGHUP o -s SIGHUP ).
  3. Sin el prefijo "SIG" (por ejemplo, -HUP o -s HUP ).

Los siguientes comandos son equivalentes entre sí:

kill -1 PID_NUMBERkill -SIGHUP PID_NUMBERkill -HUP PID_NUMBER

Los PID proporcionados a kill El comando puede ser uno de los siguientes:

  • Si PID es mayor que cero, la señal se envía al proceso con ID igual al PID .
  • Si PID es igual a cero, la señal se envía a todos los procesos del grupo de procesos actual. En otras palabras, la señal se envía a todos los procesos pertenecientes al GID del shell que invocó el kill dominio. Utilice ps -efj Comando para ver los ID de grupo de procesos (GID).
  • Si PID es igual a -1 , la señal se envía a todos los procesos con el mismo UID que el usuario que invoca el comando. Si el usuario que invoca es root, la señal se envía a todos los procesos excepto init y kill proceso en sí mismo.
  • Si PID es menor que -1 , la señal se envía a todos los procesos del grupo de procesos eq con GID igual al valor absoluto del PID .

Los usuarios normales pueden enviar señales a sus propios procesos, pero no a los que pertenecen a otros usuarios, mientras que el usuario raíz puede enviar señales a los procesos de otros usuarios.

Terminación de procesos usando kill Comando #

Para terminar o eliminar un proceso con kill comando, primero debe encontrar el número de identificación del proceso (PID). Puedes hacer esto usando diferentes comandos como top , ps , pidof y pgrep .

Digamos que el navegador Firefox ha dejado de responder y necesita finalizar el proceso de Firefox. Para encontrar los PID del navegador, use el pidof comando:

pidof firefox

El comando imprimirá las ID de todos los procesos de Firefox:

6263 6199 6142 6076

Una vez que conozca los números de los procesos, puede matarlos a todos enviando el TERM señal:

kill -9 6263 6199 6142 6076

En lugar de buscar PID y luego eliminar los procesos, puede combinar los comandos anteriores en uno solo:

kill -9 $(pidof firefox)

Procesos de recarga usando kill Comando #

Otro caso de uso común para kill es enviar el HUP señal, que le dice a los procesos que vuelvan a cargar su configuración.

Por ejemplo, para recargar Nginx, debe enviar una señal al proceso maestro. El ID de proceso del proceso maestro de Nginx se puede encontrar en nginx.pid archivo, que normalmente se encuentra en el /var/run directorio.

Usa el cat comando para encontrar el PID maestro:

cat /var/run/nginx.pid
30251

Una vez que haya encontrado el PID maestro, vuelva a cargar la configuración de Nginx escribiendo:

sudo kill -1 30251

El comando anterior debe ejecutarse como root o usuario con sudoprivilegios.

Conclusión #

El kill El comando se utiliza para enviar una señal a los procesos. La señal más utilizada es SIGKILL o -9 , que termina los procesos dados.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. Cómo matar un proceso zombie en Linux

  2. comando linux mv

  3. ¿Cómo matar un proceso en Linux usando el comando?

  4. Opciones del comando nohup en Linux

  5. Ejemplos de comandos pkill en Linux

Comando Pstree en Linux

Comando W en Linux

Al mando en Linux

5 formas rápidas de matar un proceso en Linux

Cómo MATAR un proceso en Linux

¿Qué es el comando matar en Linux?