logo

¿Cómo matar un proceso en Linux?

En un sistema operativo, hay muchos programas que se ejecutan en la RAM de la computadora. Estos programas pueden ser ejecutados por el propio sistema operativo o por un usuario; dichos programas se denominan 'Procesos .' Por lo general, un proceso tiene su ciclo de vida y finaliza por sí solo cuando se completa o cuando lo salimos manualmente. Pero, en ocasiones, un proceso puede colgarse debido a un error en la programación del proceso o por consumir mucha RAM o CPU. En tales casos, debemos finalizar los procesos manualmente para evitar que nuestra máquina se cuelgue inesperadamente.

Linux permite que varias herramientas eliminen un proceso errante. Para finalizar un proceso, debemos tener la información del proceso, como PID, señal y más .

Localizando los procesos

Para finalizar un proceso, tenemos que acceder a la información del proceso. Hay varios comandos para rastrear un proceso como arriba , PD , agarre, y pidof.

El sistema Linux nos permite matar un proceso de varias maneras, como Mata un proceso por su nombre o ID de proceso (PID). Entonces, usaremos los comandos anteriores según nuestra necesidad.

Localización de los procesos mediante el comando 'top'

El arriba El comando se utiliza para enumerar todos los procesos en ejecución en un sistema Linux. Muestra información detallada como PID, nombre de usuario, uso de CPU, hora, comando ejecutado y más.

Para localizar los procesos, ejecute el comando de la siguiente manera:

cadena a carácter java
 top 

El comando anterior mostrará los procesos en ejecución. Considere el siguiente resultado:

Matar el proceso Linux

Podemos navegar por los procesos desplazándonos hacia arriba y hacia abajo en la terminal. El comando superior proporciona varios filtros para filtrar los procesos, como el nombre del proceso, el uso de la CPU y más. Para salir de la sección superior, presione el botón 'q' clave, lo regresará a la terminal. Sin embargo, también podemos utilizar la opción tradicional de salir pulsando CTRL+C llaves.

Localización de los procesos mediante el comando ps y grep

El PD El comando es otra forma de mostrar la información del proceso. Hay muchas opciones que se utilizan con el comando ps, como a, lo que significa:

a : Para mostrar los procesos para todos los usuarios.

en : Para mostrar los procesos utilizados por un usuario en particular

X : Para mostrar todos los procesos. Si no especificamos la opción x, no mostrará el proceso GUI.

Ejecute el siguiente comando para enumerar todos los procesos en ejecución:

 ps aux 

Considere el siguiente resultado:

Matar el proceso Linux

La salida del comando ps es similar a la arriba dominio. El nombre del proceso y el PID se proporcionan en las dos primeras columnas y el nombre del proceso se proporciona en la columna de la derecha.

El comando ps es más útil que el comando top. Nos permite filtrar la salida con el comando grep.

Supongamos que queremos filtrar todo el proceso con el nombre de usuario javatpo+, ejecutamos el comando de la siguiente manera:

 ps aux | grep javatpo+ 

El comando anterior filtrará todo el proceso especificado mediante el comando grep. Considere el siguiente resultado:

Matar el proceso Linux

El resultado anterior proporciona el comando ps y la funcionalidad del comando grep juntos.

Localizando el proceso mediante el comando pidof y pgrep

El pidof El comando también nos permite localizar el proceso. Si queremos rastrear un proceso por su nombre, el comando pidof nos será de gran utilidad. Muestra los PID de los procesos cuando se usa con el nombre del proceso.

Para localizar el PID de un proceso, ejecute el comando pidof de la siguiente manera:

 pidof process_name 

Si tenemos el proceso en ejecución con el nombre exacto cromo , ejecute el comando de la siguiente manera para obtener sus PID.

 pidof chrome 

considere el siguiente resultado:

Matar el proceso Linux

Matar un proceso

Ahora que hemos rastreado los procesos, podemos finalizar un proceso. Hay varios comandos que se utilizan para finalizar un proceso, como matar , matar , arriba, y matar.

Antes de matar un proceso, es necesario saber qué procesos podemos matar. A continuación se presentan algunos puntos esenciales sobre los procesos de eliminación:

  • Si es un usuario normal, solo puede eliminar los procesos que le pertenecen. No puede finalizar los procesos que están ejecutando los otros usuarios. El arriba y PD para Los comandos muestran a los usuarios con el proceso relacionado.
  • Un usuario root puede eliminar todos los procesos. Sin embargo, también podemos agregar sudo antes de cualquier comando para ejecutarlo como root.
  • En Linux, cuando se cierra un proceso, se transmite una señal especial a los procesos. Aunque hay varios tipos de señales en Linux, en este caso, Linux se ocupa de las SIGKILLS y TÉRMINO señales. Por defecto. Linux envía el SIGTERM, que finaliza el proceso correctamente. Si desea finalizar un proceso a la fuerza, utilice SIGKILL en su lugar.
  • Linux mantiene el estado de los procesos hasta que se elimina por completo del sistema. Por lo tanto, los procesos secundarios se mostrarán en la lista de procesos hasta que se elimine un proceso principal.
  • No podemos matar un proceso si está en 'sueño ininterrumpido .' Esta situación ocurre cuando un proceso realiza una operación de entrada/salida. Este estado se puede ver en el 8thcolumna de arriba y ps al comando.

Matar un proceso con el comando killall

El comando killall es la técnica más sencilla para finalizar un proceso si conoce el nombre exacto del proceso, no lo está ejecutando ningún otro usuario y no está en estado Z o D. En el comando matar todo, no es necesario localizar el proceso o el PID. Para finalizar un proceso, ejecute el comando de la siguiente manera:

 killall firefox 

El comando anterior finalizará el proceso y cerrará el navegador Firefox. Considere el siguiente resultado:

Matar el proceso Linux

Si el comando finaliza con éxito el proceso, no dará ningún resultado.

Para finalizar el proceso a la fuerza, ejecute el comando killall con -SIGKILL de la siguiente manera:

 killall -SIGKILL process_name 

También podemos usar -9 en lugar de -SIGKILL.

Para finalizar un proceso de forma interactiva, ejecute el comando de la siguiente manera:

 killall -i process_name 

Para finalizar un proceso como un usuario diferente, ejecute el comando de la siguiente manera:

 sudo killall process_name 

También podemos finalizar un proceso durante un período de tiempo fijo usando -O y -y banderas. Para finalizar un proceso que se ha estado ejecutando durante más de 20 minutos, ejecute el siguiente comando: killall -o 20m nombre_proceso

Para finalizar un proceso que se ha estado ejecutando durante menos de 20 minutos, ejecute el siguiente comando:

 killall -y 20m process_name 

Las abreviaturas para utilizar el período de tiempo son las siguientes:

segundos: s

minutos: m

horas:h

días: d

semanas: w

meses: M

años: si

Mata un proceso con el comando pkill

En ocasiones no sabemos el nombre exacto del proceso; en tal caso, el comando pkill será la utilidad más útil para finalizar un proceso. Nos permite finalizar un proceso ingresando el nombre coincidente del proceso. Por ejemplo, queremos eliminar todos los procesos con el nombre coincidente de Java, ejecute el comando de la siguiente manera:

 pkill java 

cerrará todos los procesos que contengan el nombre java. De manera similar, para finalizar un proceso de Firefox, ejecute el comando de la siguiente manera:

 pkill fire 

Considere el siguiente resultado:

Matar el proceso Linux

Si el comando pkill se ejecuta correctamente, no mostrará ningún resultado.

Para finalizar un proceso a la fuerza con el comando pkill, ejecútelo de la siguiente manera:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Matar un proceso con el comando kill

El comando kill es la utilidad más sencilla para finalizar un proceso; Todo lo que necesitamos es un PID de un proceso. Una vez que obtenemos el PID del proceso, es un proceso sencillo. Para finalizar un proceso, ejecute el comando kill seguido de PID. Para localizar el PID de un proceso, utilice el comando top o ps aux, como se explicó anteriormente.

Para finalizar un proceso que tiene PID 5296, ejecute el comando de la siguiente manera:

 kill 5296 

Para finalizar forzosamente un proceso, use la opción -SIGKILL o -9:

 kill -SIGKILL 5296 

El comando anterior finalizará el proceso con PID 5296.

Matar un proceso con el comando superior

El comando top nos permite localizar y finalizar el proceso. Es un proceso sencillo finalizar un proceso utilizando el comando superior. Primero, ejecute el comando superior para ubicar el proceso y presione la K' mientras se ejecuta el comando. Lo sumergirá en el modo de finalización del proceso, ingrese el PID del proceso que desea finalizar. Considere el siguiente resultado:

Matar el proceso Linux

Como podemos ver en el resultado anterior, hay una opción ' PID para señalar/matar ' para finalizar el proceso de la lista de procesos anterior. Escriba el PID del proceso y presione INGRESAR llave.

Si dejamos el PID en blanco, finalizará el proceso superior.

Matar un proceso mediante el monitor del sistema

También podemos finalizar un proceso mediante el entorno gráfico de Linux llamado monitor del sistema. Para finalizar un proceso a través del monitor del sistema, siga los pasos a continuación:

Paso 1: Busque o explore el monitor del sistema, presione Intro para abrirlo.

Paso 2: Enumerará todos los procesos en ejecución de su sistema Linux. Considere la siguiente imagen:

Matar el proceso Linux

Paso 3: Explore el proceso y haga clic derecho en el que desea finalizar.

Etapa 4: Seleccione la opción Matar. Además, podemos utilizar el CTRL+K claves para matarlo.