Comando ps en Linux para monitorización de procesos

El comando ps en Linux, abreviatura de "Process Status", se emplea para visualizar información sobre los procesos del sistema. Proporciona una instantánea estática de los procesos activos en el momento de su ejecución, a diferencia de herramientas como top que ofrecen actualizaciones en tiempo real.

Este comando es esencial para la gestión de procesos, ya que permite identificar procesos en ejecución, su estado, uso de recursos, y detectar problemas como procesos zombie o consumidores excesivos de CPU o memoria.

Sintaxis básica: ps [opciones] [--ayuda]

Algunas opciones comúnmente utilizadas incluyen:

  • -A: Muestra todos los procesos del sistema, equivalente a -e.
  • -a: Lista procesos de todos los usuarios excepto los de la terminal actual.
  • -u: Proporciona detalles adicionales sobre el usuario asociado al proceso.
  • -x: Incluye procesos que no están vinculados a una terminal.
  • -f: Genera una salida completa que incluye la jerarquía de procesos.
  • -l: Ofrece un formato extendido con campos adicionales como F, S y WCHAN.

Para obtener una vista detallada de todos los procesos, se puede usar ps aux o ps -ef.

Ejemplo 1: Mostrar procesos del usuario actual en formato largo.

$ ps -l

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

0 S 1000 1234 5678 0 80 0 - 2000 - pts/0 00:00:00 bash

4 R 1000 5678 1234 0 80 0 - 1500 - pts/0 00:00:00 ps

Los campos clave incluyen: UID (ID de usuario), PID (identificador del proceso), PPID (ID del proceso padre), y el estado (S) que indica si el proceso está dormido o activo.

Ejemplo 2: Listar todos los procesos con información detallada.

$ ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.2 16800 5120 ? Ss 10:00 0:01 /sbin/init

user 1234 0.1 0.5 30000 10240 pts/0 S 10:05 0:00 bash

El campo STAT refleja el estado del proceso, con valores como R (en ejecución), S (suspendido), T (detenido), y Z (zombie).

Ordenación de la salida:

Para organizar los procesos según criterios específicos, se pueden utilizar dos métodos principales.

Método 1: Combinar ps con el comando sort.

$ ps -eo pid,user,%cpu,%mem --sort=-%cpu | head -10

Este comando muestra los diez procesos con mayor uso de CPU, ordenados de forma descendente.

Método 2: Usar la opción --sort de ps directamente.

$ ps aux --sort=-%mem

Ordena los procesos por porcentaje de memoria utilizada en orden decreciente.

Las claves de ordenación disponibles incluyen pid, user, %cpu, %mem, rss, entre otras, lo que permite personalizar la visualización según necesidades.

Etiquetas: linux comando ps gestión de procesos terminal shell

Publicado el 6-11 06:14