GNU/Linux >> Tutoriales Linux >  >> Linux

5 formas rápidas de matar un proceso en Linux

El sistema operativo Linux proporciona varias formas de finalizar un proceso del sistema operativo Linux. La forma obvia de detener un programa es haciendo clic en el botón X en la esquina superior izquierda o derecha. Pero hay una miríada de otras formas de matar un proceso; estamos aquí para discutir las otras formas eficientes.

Maneras de matar un proceso en Linux

Secuencia de control

La segunda forma obvia de eliminar un proceso que acaba de iniciarse es escribir Ctrl-C en la línea de comando. La secuencia de control Ctrl-C es generalmente segura de usar, aunque es posible que se pierdan algunos datos.

La secuencia Ctrl-Z suspenderá un proceso en ejecución. Envía la señal SIGTSP a un proceso cuya acción por defecto es suspender el proceso.

comandos de matar

El sistema operativo Linux viene con el comando kill que puede usar para terminar un proceso cuando deja de responder o consume demasiados recursos. Un proceso en Linux es una instancia de un programa.

Un PID único se genera automáticamente para ese proceso cuando se inicia un programa. El proceso de inicio es el primer proceso que se inicia cuando se inicia un sistema Linux y se le asigna un valor de '1'.

Init es el proceso maestro y no se puede eliminar mediante el comando kill. El comando de eliminación en el proceso de inicio es simplemente una solicitud para que el sistema se apague.

Esta guía lo guiará a través de los pasos y varias formas de terminar un proceso en ejecución usando la terminal de Linux.

El usuario raíz tiene todos los permisos necesarios para eliminar todos los procesos. Puede obtener un shell raíz con el comando su o agregar sudo antes del comando y ejecutarlo.

La señal predeterminada enviada por el comando de matar

Matar un proceso enviará un mensaje de finalización al proceso especificado. Los dos tipos principales de mensajes de terminación incluyen:

• SIGTERM:el comando kill enviará una señal SIGTERM de forma predeterminada. Debe permitir que el proceso termine a través de sus procedimientos de apagado normales. Es una forma más suave de intentar finalizar un proceso y puede bloquearse.

• SIGKILL:siempre matará un proceso abruptamente. Si SIGKILL no funciona, el sistema operativo ha fallado. Es el método más rápido y efectivo para matar un proceso.

Lista de procesos en ejecución

El comando top, el comando ps y el comando pidof son las formas más fáciles de ver los procesos en ejecución en un sistema Linux.

Sintaxis:

ps -e | grep name-of-process

La siguiente captura de pantalla muestra cómo usar el comando ps para verificar si MySQL se está ejecutando en el sistema. Nos da el PID del demonio MySQL, que es 1162.

Opciones comunes para agregar al comando ps

• -a:ver procesos de todos los usuarios.
• -u:ver información detallada sobre cada proceso.
• -x:ver todos los procesos controlados por demonios.

ps -e

Sintaxis:

top

El comando superior le mostrará el PID, el usuario, el nombre del recurso y cuántos recursos del sistema usa cada proceso. Estos son útiles si decide terminar cualquiera de los procesos.

Usar el comando pgrep también es muy eficiente para obtener el ID de proceso correspondiente.

Opciones comunes para agregar al comando pgrep.

• -l:muestra los nombres de los procesos y los PID.
• -n:Devuelve el proceso más nuevo.
• -o:Devuelve el proceso más antiguo.
• -u:Encuentra los procesos que pertenecen a un usuario específico.
• -x:encuentre un proceso que coincida exactamente con un patrón dado.

El comando pidof se usa para encontrar la IP de un proceso si conoce el nombre del proceso.

Sintaxis:

pidof <options> <program>

Opciones:

• -c:Devuelve PID dentro de un solo directorio raíz.
• -o:Omitirá ciertos PID.
• -s:Devuelve un solo PID.
• -x:Devuelve PID de shells que ejecutan scripts.

Puede matar un proceso en Linux a través de diferentes métodos dependiendo de si conoce el PID del proceso, el nombre del proceso o el tiempo que el proceso se ha estado ejecutando.

comando matar

El comando killall se usa para matar procesos por nombre. Puede eliminar varios procesos con un solo comando y envía una señal SIGTERM de forma predeterminada.

Sintaxis:

killall <process>

Opciones disponibles con el comando killall:

• -e:devuelve la coincidencia exacta para el nombre del proceso.
• -I:el comando ignorará las mayúsculas y minúsculas al encontrar el nombre del proceso.
• -i:solicitará información adicional al eliminar un proceso por nombre.
• -u:eliminará los procesos que pertenecen a un usuario específico del sistema.
• -v:proporcionará información sobre si el proceso de eliminación se ha ejecutado correctamente.

El comando killall también puede finalizar procesos en un sistema Linux según los tiempos de ejecución de los procesos.

• -o:esta opción eliminará todos los procesos durante más tiempo del especificado.
• -y:esta opción eliminará todos los procesos que se ejecuten menos del tiempo especificado.

Ejemplo:

• killall -o 20m:el comando eliminará todos los procesos que tengan más de 20 minutos.
• Killall -y 20m:el comando eliminará todos los procesos que se ejecuten durante menos de 15 minutos.

comando matar

El comando kill matará un proceso si conoce la IP del proceso.

Sintaxis:

kill <processID>

El comando kill elimina un solo proceso con el ID de proceso dado. El Comando enviará una señal SIGTERM para detener y esperar a que el proceso se someta a sus procedimientos de cierre de rutina.

Eliminar comando -9

El comando kill -9 se usa para finalizar procesos o servicios que no responden.

Sintaxis:

kill -9 <processID>

o

kill -SIGKILL <processID>

El comando kill -9 enviará una señal SIGKILL para cerrar un proceso inmediatamente. El comando kill -9 omitirá la rutina de apagado estándar y se perderán todos los datos no guardados.

Los programas que no respondan ignorarán el comando kill, pero terminarán cada vez que se emita el comando kill -9.

Otras opciones de eliminación comúnmente utilizadas incluyen:

• -1 (HUP):Esta es la opción de “colgar” y generalmente es muy segura.
• -2 (SIGINT):Esta es la misma señal que Ctrl-C y se considera una alternativa segura para matar un programa.
• -15 (-TERM):esta es la señal de finalización predeterminada y generalmente es muy segura.

Puede obtener una lista completa de todas las señales disponibles usando el comando kill -l.

comando pkill

El comando pkill eliminará un proceso cuando conozca el nombre del proceso. Por defecto, pkill enviará la señal SIGTERM para terminar el proceso.

Sintaxis:

pkill <options> <pattern>

opciones pkill:

• -n:este comando eliminará los procesos más nuevos.
• -o:este comando eliminará los procesos más antiguos.
• -u:este comando eliminará los procesos según el usuario seleccionado.
• -x:este comando eliminará los procesos que coincidan con un patrón.
• -signal:envía una señal específica que no sea la señal predeterminada SIGTERM.

xmatar

El comando xkill cerrará la conexión de un servidor a los clientes.

xkill <resource>

El comando xkill finalizará los procesos del servidor no deseados.

comando superior

El comando superior proporciona una interfaz a través de la cual un usuario puede especificar el proceso de terminación.

Sintaxis:

top

Para eliminar un proceso por PID, inserte k desde la interfaz y luego ingrese una ID de proceso específica.

Resumen

• Debe tener permisos sudo para eliminar un proceso a través de la línea de comandos.

• Cada vez que genera una señal usando el comando kill, el sistema Linux interrumpe el flujo normal de ejecución del proceso de destino.

• Para encontrar un proceso en ejecución, puede usar los comandos ps, top, pgrep o pidof.

• Puede eliminar un proceso por nombre o ID de proceso mediante los comandos kilall, pkill, kill, xkill o top.

• Un proceso de finalización enviará una señal de terminación de SIGTERM, SIGHUP O SIGKILL.

• Puede utilizar el Monitor del sistema para eliminar el proceso de Linux. Se puede encontrar en las herramientas del sistema y ofrece varias opciones, como el proceso superior, el proceso final o el cierre del proceso.

• El comando matar y sus variantes son bastante sencillos de entender y usar.

En esta guía, destacamos varias formas de eliminar procesos en Linux. Hay una ligera curva de aprendizaje en términos de la lista de opciones de señal que ofrece, lo cual es esencial para una correcta administración de Linux. Si desea obtener más información, le sugiero que consulte sus respectivas páginas man.


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

  2. 8 ejemplos de comandos de fecha rápida en Linux

  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 matar en Linux

Comando W en Linux

Al mando en Linux

Las 7 mejores formas de matar programas que no responden en Linux

Cómo MATAR un proceso en Linux

¿Qué es el comando matar en Linux?