GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es el comando matar en Linux?

¿Necesita matar un proceso en ejecución? El comando kill en Linux está diseñado precisamente para eso. Ningún sistema operativo es perfecto. Por lo tanto, es común que su sistema Linux tenga que lidiar con procesos ocasionales que no responden.

Para lidiar con instancias en las que necesitamos finalizar un proceso, usamos el comando kill en Linux.

En este tutorial, entenderemos cómo funciona el comando matar. Más tarde, intentaremos usar el comando kill para nuestros requisitos.

Conceptos básicos del comando matar

Hay varias utilidades que ayudan a un usuario de Linux a terminar procesos que pueden estar funcionando mal. Una de las utilidades más utilizadas para este fin en el comando kill en Linux.

El comando kill en Linux se usa para matar manualmente un proceso usando la línea de comando. Es una utilidad integrada de shell para la mayoría de los shells derivados del shell de Bourne, como bash.

Las opciones para la versión incorporada de bash del comando kill en Linux son ligeramente diferentes del ejecutable independiente que se encuentra en /bin/kill.

Sin embargo, por el bien de este tutorial, usaremos la versión integrada de bash del comando kill. Para verificar todas las ubicaciones que contienen el comando de eliminación en su sistema, escriba el siguiente comando en su terminal.

root@ubuntu:~# type -a kill
kill is a shell builtin
kill is /bin/kill

Debería obtener una salida similar a la captura de pantalla anterior. Este resultado confirma que la versión integrada de shell del comando kill tiene prioridad sobre su ejecutable independiente.

Por lo tanto, usar el comando kill ejecutará la versión integrada de bash. Puede usar el ejecutable usando la ruta completa para el comando como /bin/kill/. Sin embargo, procederemos con la versión integrada de bash del comando kill.

Comando matar en Linux

La mejor manera de entender cualquier comando es a través de la comprensión de su sintaxis. Así es como se ve la sintaxis del comando kill en Linux.

kill [option] PID

El comando matar se utiliza para enviar una señal a un proceso. Esta señal se decide por la opción utilizada al llamar al comando de eliminación.

Procesar señales de terminación con el comando kill

Si bien hay una amplia variedad de opciones para elegir, aquí hemos enumerado las más utilizadas en la siguiente tabla.

Opción Número de señal Acción
SIGTERM 15 La señal SIGTERM se usa para indicarle a un proceso que finalice correctamente. Esta señal de interrupción puede ser interpretada por el proceso o puede ser ignorada.
SIGKILL 9 La señal SIGKILL se utiliza para forzar la terminación de un proceso. Es una señal que el proceso no puede ignorar en ningún caso.
SUSCRIBIR 1 La señal SIGHUP se utiliza para "colgar" un proceso. Esto se puede usar para reiniciar un proceso.
SIGENTE 2 La señal SIGINT se utiliza cuando el usuario quiere interrumpir un proceso.

Si no especificamos la opción, se usará la opción predeterminada para el comando de eliminación. La opción predeterminada para el comando de eliminación en Linux es SIGTERM. Las opciones se pueden usar en el comando matar de tres maneras diferentes.

Uso del número de señal

kill -9 [PID]

Con el prefijo 'SIG'

kill -SIGKILL [PID] 

Sin el prefijo 'SIG'

kill -KILL [PID]

¿Cuál es el ID de proceso (PID) cuando se usa el comando kill en Linux?

Pasando al último parámetro, el PID. El PID se refiere al ID de proceso para un determinado proceso. Cada vez que se inicia un proceso, el kernel le asigna una ID única.

Usamos el PID en el comando de eliminación en Linux para especificar el proceso al que queremos enviar la señal de eliminación.

El PID utilizado en el comando de eliminación puede tener cualquier valor entero. Aquí hay una lista que contiene el valor del PID y su efecto en el comando de eliminación.

Valor de PID Efecto en el comando de matar
PID>0 Esto envía la señal de finalización adecuada al proceso, que es un PID igual al PID mencionado en el comando.
PID=0 Esto envía la señal de finalización adecuada a todos los procesos que se ejecutan en el mismo grupo que el que invoca el comando.
PID=-1 Esto envía la señal de interrupción adecuada a todos los procesos que se ejecutan bajo el mismo usuario que invoca el comando. En el caso de que el usuario raíz invoque dicho comando, la señal de eliminación se envía a todos los procesos, excepto al proceso de eliminación y al proceso de inicio.
PID<-1 Esto envía la señal de interrupción adecuada a todos los procesos que se ejecutan en un grupo, de modo que la ID del grupo sea igual al valor absoluto del PID utilizado en el comando de eliminación.

Cuando queremos saber el PID de un proceso, usamos el siguiente comando.

pidof <processname>

Este comando devolverá todos los PID para el proceso especificado. Ahora podemos usar este PID para enviar la señal de interrupción deseada al proceso.

Usando el comando matar

Ahora hemos desarrollado una comprensión del comando kill en Linux y sus parámetros. Ahora es el momento de usar este conocimiento para realizar dos operaciones comunes que involucran el uso del comando de matar.

Matar un proceso

El uso más común del comando kill en Linux, como sugiere su nombre, es matar un proceso. Aquí, elegiremos matar los procesos de comando superior en nuestro sistema usando el comando matar.

Para esta demostración, simplemente ejecuté la parte superior de varios shells para crear estos procesos.

Para hacerlo, primero usaremos el siguiente comando para encontrar los PID asociados con el proceso del comando superior.

pidof top

Ahora, usamos la señal de eliminación SIGKILL para eliminar todos los procesos asociados con el comando superior.

Recargar un proceso

Otra función posible con el comando kill en Linux es reiniciar un proceso. Esto es útil en caso de que un servicio se esté ejecutando pero necesite volver a leer su archivo de configuración para habilitar los cambios recientes.

Por ejemplo, si desea volver a cargar el proceso del servidor Lighttpd en su sistema, puede ejecutar el siguiente comando.

sudo kill -SIGHUP <process ID of Lighttpd>

Conclusión

Si un proceso deja de responder, no hay forma de reiniciarlo. Las únicas opciones disponibles disponibles son reiniciar nuestro sistema o finalizar el proceso en particular. Esperamos que, a través de este tutorial, haya podido desarrollar una buena comprensión del comando matar.

Prueba el comando kill en Linux por ti mismo. Si tiene algún comentario, sugerencia o comentario, no dude en comunicarse con nosotros a través de la sección de comentarios a continuación.


Linux
  1. Linux vs Unix:¿Cuál es la diferencia?

  2. Domina el comando ls de Linux

  3. Introducción al comando de alternativas en Linux

  4. ¿Cuál es el equivalente de ~ (tilde) de Linux en Windows?

  5. ¿Cuál es la unidad de tamaño predeterminada en el comando linux ls -l?

Explicación del comando tar de Linux

¿Qué es el Shell en Linux?

Domina la línea de comandos de Linux

¿Qué me dice el símbolo del sistema de Linux?

El comando del temporizador en Linux

El comando curl de Linux