GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo matar procesos en ejecución en Linux

En Linux, una instancia de un servicio, aplicación o secuencia de comandos en ejecución se denomina proceso. Cuando ejecuta cualquier comando, programa o aplicación, se crea un proceso para él. Cada proceso tiene su propia identificación de proceso que está asociada con un usuario y grupo específicos. Si algún proceso consume demasiados recursos o deja de responder, es posible que deba eliminarlo. En este caso, puede usar el comando kill para detener el proceso sin reiniciar su servidor.

En esta publicación, le mostraremos cómo eliminar los procesos en ejecución en Linux.

Requisitos

  • Un servidor que ejecuta Linux en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Crear servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo cualquier sistema operativo Linux con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Ver procesos en ejecución en Linux

La forma más sencilla y fácil de obtener una lista de todos los procesos en ejecución es usar el comando superior. Puede ejecutar el comando superior como se muestra a continuación para enumerar todos los procesos en ejecución:

top

Obtendrá todos los procesos en ejecución en el siguiente resultado:

Tasks: 344 total,   1 running, 297 sleeping,   0 stopped,   0 zombie
%Cpu(s): 22.6 us,  6.0 sy,  0.1 ni, 67.1 id,  3.9 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem :  7580260 total,  2103076 free,  3174408 used,  2302776 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3901388 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                   
 5994 vyom      20   0   44344   4160   3444 R  11.8  0.1   0:00.03 top                                                                       
 2206 vyom      20   0 1046476  89792  60368 S   5.9  1.2   1:15.26 Xorg                                                                      
 2359 vyom      20   0 3471324 216412  97596 S   5.9  2.9   1:58.27 gnome-shell                                                               
 2745 vyom      20   0 1776552 136144  99424 S   5.9  1.8   1:09.93 skypeforlinux                                                             
 2775 vyom      20   0 37.371g 169524 117660 S   5.9  2.2   1:05.09 skypeforlinux                                                             
 5655 root      20   0       0      0      0 I   5.9  0.0   0:00.30 kworker/u8:3-ev                                                           
    1 root      20   0  160356   9464   6632 S   0.0  0.1   0:03.50 systemd                                                                   
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                  
    3 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_gp                                                                    
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_par_gp                                                                
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H-kb                                                           
    9 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq                                                              
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.40 ksoftirqd/0                                                               
   11 root      20   0       0      0      0 I   0.0  0.0   0:03.58 rcu_sched                                                                 
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 migration/0                                                               
   13 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/0                                                             
   14 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0                                                                   
   15 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1                                                                   
   16 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/1                                                             

Puede presionar k e ingresar la ID del proceso para eliminar el proceso directamente desde la interfaz superior.

Encuentre el proceso usando el comando ps

ps es una utilidad de línea de comandos que mostrará una lista completa de los procesos en ejecución en el formato especificado.

La sintaxis básica del comando ps se muestra a continuación:

ps [OPTION]

A continuación se muestra una breve explicación de cada opción:

  • -a:muestra los procesos en ejecución de todos los usuarios.
  • -u:muestra información detallada sobre cada uno de los procesos.
  • -x:muestra los procesos controlados por el daemon.

Por ejemplo, ejecute el siguiente comando para obtener una lista detallada de todos los procesos.

ps aux

Obtendrá el siguiente resultado:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.1 160356  9464 ?        Ss   15:51   0:03 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    15:51   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   15:51   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   15:51   0:00 [rcu_par_gp]
root         6  0.0  0.0      0     0 ?        I<   15:51   0:00 [kworker/0:0H-kb]
root         9  0.0  0.0      0     0 ?        I<   15:51   0:00 [mm_percpu_wq]
root        10  0.0  0.0      0     0 ?        S    15:51   0:00 [ksoftirqd/0]
root        11  0.1  0.0      0     0 ?        I    15:51   0:03 [rcu_sched]
root        12  0.0  0.0      0     0 ?        S    15:51   0:00 [migration/0]
root        13  0.0  0.0      0     0 ?        S    15:51   0:00 [idle_inject/0]
root        14  0.0  0.0      0     0 ?        S    15:51   0:00 [cpuhp/0]
root        15  0.0  0.0      0     0 ?        S    15:51   0:00 [cpuhp/1]
root        16  0.0  0.0      0     0 ?        S    15:51   0:00 [idle_inject/1]
root        17  0.0  0.0      0     0 ?        S    15:51   0:00 [migration/1]
root        18  0.0  0.0      0     0 ?        S    15:51   0:00 [ksoftirqd/1]
root        20  0.0  0.0      0     0 ?        I<   15:51   0:00 [kworker/1:0H-kb]
root        21  0.0  0.0      0     0 ?        S    15:51   0:00 [kdevtmpfs]
root        22  0.0  0.0      0     0 ?        I<   15:51   0:00 [netns]

El comando anterior le mostrará todos los procesos en ejecución. Puede usar el comando grep con el comando ps para obtener un PID de un proceso específico.

Por ejemplo, para obtener un PID de un proceso de Apache, ejecute el siguiente comando:

ps aux | grep apache

Obtendrá el siguiente resultado:

root      1309  0.0  0.0  73992  4748 ?        Ss   15:52   0:00 /usr/sbin/apache2 -k start
www-data  1310  0.0  0.0 1285068 4620 ?        Sl   15:52   0:00 /usr/sbin/apache2 -k start
www-data  1311  0.0  0.0 1285068 4644 ?        Sl   15:52   0:00 /usr/sbin/apache2 -k start

También puedes usar el pidof comando para obtener un PID de un proceso específico.

pidof apache2

Obtendrá el siguiente resultado:

1311 1310 1309

Eliminar un proceso en Linux

En este punto, ya sabe cómo obtener el PID de cualquier proceso. Ahora, puede usar el comando matar para matar un proceso en ejecución.

Para eliminar un solo proceso, ejecute el siguiente comando:

kill PID

O

kill -9 PID

Para eliminar varios procesos, ejecute el siguiente comando:

kill -9 PID1 PID2 PID3

También puede eliminar los procesos por sus nombres. Puedes usar el pkill comando para matar un proceso por su nombre.

Para eliminar el proceso de Apache, ejecute el siguiente comando:

pkill apache2

También puedes usar el killall comando para matar un proceso por su nombre:

killall mysqld

Conclusión

En esta publicación, explicamos cómo encontrar y eliminar un proceso en Linux. Ahora puede eliminar cualquier proceso que no responda por sí mismo sin reiniciar su servidor. ¡Pruébelo en alojamiento VPS de Atlantic.Net!


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

  2. Cómo establecer límites en los procesos que ejecutan los usuarios en Linux

  3. Linux:¿cómo identificar qué distribución de Linux se está ejecutando?

  4. ¿Cómo eliminar un proceso que se ejecuta en un puerto específico en Linux?

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

Cómo encontrar y matar procesos en ejecución en Linux

Cómo matar el proceso de ejecución de Linux en un puerto particular

Cómo MATAR un proceso en Linux

Cómo matar procesos Zombie en Ubuntu

Cómo matar procesos en Linux usando kill, killall y pkill

Cómo eliminar procesos de MySQL en phpMyAdmin