GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de comandos de Linux:7 comandos para la gestión de procesos

Suponga que se encuentra explorando la línea de comandos de Linux por primera vez o ingresando a la administración de Linux. En ese caso, es esencial una comprensión de bajo nivel de cómo moverse por la terminal y completar las tareas básicas. Para ayudarlo a comprender esos conceptos, consulte mis dos artículos anteriores:

  • 10 comandos para comenzar en la terminal
  • 10 comandos más para manipular archivos

Sin embargo, si se siente cómodo con esos conceptos, avanzaremos un poco más en su conocimiento de Linux en este artículo. Analizaremos los procesos y cómo gestionarlos.

Entonces, ¿qué es exactamente un proceso ?

En Linux, un proceso es cualquier instancia activa (en ejecución) de un programa. Pero, ¿qué es un programa ? Bueno, técnicamente, un programa es cualquier archivo ejecutable almacenado en su máquina. Cada vez que ejecuta un programa, ha creado un proceso. En un nivel básico, esto es bastante fácil de administrar, y eso es lo que vamos a ver hoy.

Lo que necesitas para empezar

Le recomiendo que lo siga en su máquina virtual favorita. De esa manera, puedes intentarlo y fallar sin consecuencias (lo que definitivamente es la mejor manera de sentirte cómodo en la terminal).

Para esta demostración, voy a iniciar el proceso de suspensión durante 500 segundos. Este enfoque le permite ver el proceso sin que yo realice cambios significativos en mi sistema.

[tcarrigan@client ~]$ sleep 500
^Z
[1]+  Stopped                 sleep 500

Luego detuve el proceso con Ctrl+Z para que podamos usar nuestra terminal.

1. Listar procesos

Para mostrar sus procesos actualmente activos, use el ps comando:

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   3293 pts/0    00:00:00 sleep
   3300 pts/0    00:00:00 ps

Aquí obtiene un poco de información sobre los procesos activos en su sistema. Deberá prestar atención al PID (ID de proceso único), el TIME (cantidad de tiempo que el proceso se ha estado ejecutando), y el CMD (el comando ejecutado para iniciar el proceso).

2. Lista detallada (procesos)

Para ver una lista de procesos increíblemente detallada, puede usar el ps aux comando.

  • a - todos los usuarios
  • u - muestra el usuario/propietario
  • x:muestra procesos no ejecutados en la terminal (lo que hace que la salida sea bastante larga)

Puede ver el comando aquí (salida editada por longitud):

[tcarrigan@client ~]$ ps aux
USER         PID %CPU %MEM   VSZ    RSS   TTY  STAT  START    TIME   COMMAND
tcarrig+    3293  0.0  0.0 215292   520 pts/0    T    13:41   0:00 sleep 500
root        3380  0.0  0.0      0     0 ?        I    13:45   0:00 [kworker/1:1-mm_percpu_wq]
root        3381  0.0  0.0      0     0 ?        I    13:45   0:00 [kworker/1:3]
root        3398  0.0  0.0      0     0 ?        I    13:46   0:00 [kworker/3:2-ata_sff]
root        3481  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/u8:2-flush-253:0]
root        3482  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/0:1-events]
root        3483  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/0:2]
root        3508  0.0  0.0      0     0 ?        I    13:51   0:00 [kworker/3:0-ata_sff]
root        3511  0.0  0.0  18892  7732 ?        S    13:52   0:00 systemd-userwork
root        3512  0.0  0.0  18892  7656 ?        S    13:52   0:00 systemd-userwork
root        3513  0.0  0.0  18892  7656 ?        S    13:52   0:00 systemd-userwork
root        3566  0.4  0.0 432792  8024 ?        Ssl  13:54   0:00 /usr/libexec/fprintd
tcarrig+    3598  0.0  0.0 228208  3948 pts/0    R+   13:54   0:00 ps aux

3. Matar por PID

Inevitablemente, un proceso se bloqueará y deberá kill eso. Cuanto más tiempo pase en la CLI, más probable es que necesite kill dominio. La forma más precisa de identificar un proceso es mediante el ID de proceso (PID).

Utilice la siguiente sintaxis:

[tcarrigan@client ~]$ kill PID

Este comando envía el SIGTERM señal. Sin embargo, si se trata de un proceso atascado, agregue el -9 opción.

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   3293 pts/0    00:00:00 sleep
   4684 pts/0    00:00:00 sleep
  40527 pts/0    00:00:00 sleep
  40540 pts/0    00:00:00 ps
[tcarrigan@client ~]$ sudo kill -9 3293
[sudo] password for tcarrigan: 
[1]   Killed                  sleep 500

4. Matar por nombre/palabra clave

Usa el killall Comando para matar un proceso por su nombre. Este comando eliminará todos los procesos con la palabra clave/nombre que especifique.

La sintaxis es:

[tcarrigan@client ~]$ killall sleep

Esto mataría a todos sleep procesos activos en el sistema (el -9 opción funciona aquí también). Aquí hay un ejemplo:

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   4684 pts/0    00:00:00 sleep
  40527 pts/0    00:00:00 sleep
  40540 pts/0    00:00:00 ps
[tcarrigan@client ~]$ killall -9 sleep 
[2]-   Killed                  sleep 500
[3]+   Killed                  sleep 500

Estos dos comandos siguientes van de la mano. Le permiten mover/administrar comandos en segundo plano. Daré una mirada básica a la sintaxis a continuación; sin embargo, para ver en profundidad estos comandos, consulte mi artículo anterior sobre el tema.

5. Enumere trabajos en segundo plano y reanude trabajos en segundo plano

Para listar y administrar trabajos en segundo plano, usaremos el bg dominio. Empecé un nuevo sleep 500 proceso y luego lo detuvo, enviándolo a un segundo plano. Por lo tanto, lo vemos en la lista cuando se ejecuta bg a continuación:

[tcarrigan@client ~]$ bg
[1]+ sleep 500 &

6. Trae el trabajo más reciente al primer plano

Para hacer esto, vamos a usar el fg dominio. Esto trae el trabajo/proceso ejecutado más recientemente al primer plano. El siguiente ejemplo es una continuación del comando anterior. El sleep 500 proceso que está en segundo plano ahora está activo en segundo plano. Saquémoslo a la luz...

[tcarrigan@client ~]$ fg
sleep 500

Este comando nos lleva a nuestro comando final en esta lista.

7. Poner un trabajo específico en primer plano

Utilice el fg comando de nuevo, pero seleccione un trabajo específico para traerlo a primer plano (en lugar del más reciente). Para hacer esto, solo agregaremos el nombre del trabajo/proceso al comando.

[tcarrigan@client ~]$ fg XXXample

Esto trae trabajo XXXample al primer plano.

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ] 

Conclusión

En los conceptos básicos de comandos de Linux de hoy, analizamos los procesos y cómo administrarlos. Ahora puede completar tareas generales de administración de procesos, desde enumerar y eliminar hasta moverse entre el fondo y el primer plano. Si hay otras áreas generales de administración de Linux para las que le gustaría ver una lista dedicada de comandos, envíe un correo electrónico al equipo a [email protected] y haré todo lo posible para desarrollarlo.


Linux
  1. 20 comandos esenciales de Linux para cada usuario

  2. 3 comandos útiles de Linux para administradores de sistemas

  3. Comandos Linux de la A a la Z

  4. Consejos de línea de comandos de Linux para aumentar la productividad

  5. Comando de eco de Linux

Comando matar en Linux

Tutorial de comando superior de Linux para principiantes (8 ejemplos)

Los 30 mejores ejemplos de comandos para monitorear en Linux

Los 50 comandos IP útiles de Linux para administradores de red

Comandos para la Gestión de Procesos en Linux

UNIX/Linux:7 ejemplos prácticos de comandos PS para el monitoreo de procesos