Conceptos básicos de comandos de Linux: 7 comandos para administrar 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 este caso, es esencial un bajo nivel de comprensión de cómo moverse por la terminal y realizar tareas básicas. Para ayudarlo a comprender estos conceptos, consulte mis dos artículos anteriores:

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

Entonces, ¿qué es un?

En Linux, un proceso es cualquier instancia activa (en ejecución) de un programa. Pero, ¿qué es un 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, es bastante fácil de administrar, y eso es lo que veremos hoy.

Índice

    Lo que necesitas para empezar

    Te recomiendo que sigas en tu máquina virtual favorita. De esa manera, puede intentar y fallar sin consecuencias (que es definitivamente la mejor manera de sentirse cómodo en la terminal).

    Para esta demostración, comenzaré en dormir proceso durante 500 segundos. Este enfoque le permite ver el proceso sin que yo realice cambios significativos en mi sistema.

    [[email protected]client ~]$ sleep 500
    ^Z
    [1]+  Stopped                 sleep 500

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

    1. Listar los procesos

    Para ver sus procesos actualmente activos, use el ps pedido:

    [[email protected] ~]$ 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 información sobre los procesos activos en su sistema. Querrás prestar atención a la PID (ID de proceso único), el HORA (tiempo de ejecución del proceso) y el CMD (el comando ejecutado para iniciar el proceso).

    2. Lista detallada (proceso)

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

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

    Puede ver el comando aquí (la salida cambió por longitud):

    [[email protected] ~]$ 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 fallará y tendrá que kill esta. Cuanto más tiempo pase en la interfaz de línea de comandos, más probable será que necesite el kill pedido. La forma más precisa de identificar un proceso es el ID de proceso (PID).

    Utilice la siguiente sintaxis:

    [[email protected] ~]$ kill PID

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

    [[email protected] ~]$ 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
    [[email protected] ~]$ sudo kill -9 3293
    [sudo] password for tcarrigan: 
    [1]   Killed                  sleep 500

    4. Matar por nombre/palabra clave

    Utilizar 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:

    [[email protected] ~]$ killall sleep

    eso lo mataria todo sleep procesos activos en el sistema (el -9 la opción también funciona aquí). Aquí un ejemplo:

    [[email protected] ~]$ 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
    [[email protected] ~]$ killall -9 sleep 
    [2]-   Killed                  sleep 500
    [3]+   Killed                  sleep 500

    Estos dos comandos siguientes van de la mano. Te permiten mover/gestionar pedidos en segundo plano. Daré una descripción general de la sintaxis a continuación; sin embargo, para ver en profundidad estos comandos, consulte mi artículo anterior sobre el tema.

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

    Para listar y administrar los trabajos en segundo plano, usaremos el bg pedido. Empecé uno nuevo sleep 500 proceso, luego lo detuvo, enviándolo a un segundo plano. Entonces lo vemos en la lista mientras se ejecuta bg debajo de:

    [[email protected] ~]$ bg
    [1]+ sleep 500 &

    6. Poner en primer plano el trabajo más reciente

    Para ello utilizaremos el fg pedido. Esto pone en primer plano el trabajo/proceso ejecutado más recientemente. El siguiente ejemplo es una continuación del comando anterior. el sleep 500 el proceso que está en segundo plano ahora está activo en segundo plano. Pongámoslo en el centro de atención...

    [[email protected] ~]$ fg
    sleep 500

    Este comando nos lleva a nuestro último comando en esta lista.

    7. Poner en primer plano el trabajo específico

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

    [[email protected] ~]$ fg XXXample

    trae trabajo XXXamplio al primer plano.

    Envoltura

    En los conceptos básicos de comandos de Linux de hoy, analizamos los procesos y cómo manejarlos. Ahora puede realizar 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 hacerlo.

    Artículos de interés

    Subir