LINUX

15 Comando ps de Linux con ejemplos

aprender el comando linux ps

los PD es un comando integrado que se utiliza en los sistemas operativos Unix / Linux para enumerar los procesos que se están ejecutando actualmente. Muestra una instantánea estática con información sobre los procesos, mientras que top, htop y glances muestran actualizaciones repetitivas.

El comando Ps viene con muchas opciones para manipular las salidas. Extrae toda la información de los procesos del sistema de archivos virtual / proc.

Este tutorial se centrará en explicar la forma de utilizar el comando ps junto con algunos ejemplos prácticos.

La sintaxis del comando ps

La sintaxis básica para el uso del comando ps es la siguiente:

$ ps [options]
comando ps
comando ps

Las ‘opciones’ del comando ps pueden ser:

  • Opciones de UNIX – precedidas por un guión
  • Opciones BSD: deben usarse sin un guión
  • Opciones largas de GNU – precedidas por dos guiones

Este es un uso muy básico del comando ps. Simplemente escriba ‘ps’ en su consola para ver su resultado:

$ ps

De forma predeterminada, nos muestra cuatro columnas de información.

  • PID es un ID de proceso del comando en ejecución (CMD)
  • TTY es un lugar donde se ejecuta el comando en ejecución
  • TIEMPO indica cuánto tiempo usa la CPU mientras se ejecuta el comando
  • CMD es un comando que se ejecuta como un proceso actual

Ejecutar el comando ps sin ninguna opción es solo un formato más simple del comando, no devuelve mucha información. Para aprovechar al máximo la potencia del comando ps, ejecutémoslo con opciones adicionales que se explicarán con más detalle en las siguientes secciones.

01) Mostrar todos los procesos (formato UNIX)

Para ver todos los procesos en su sistema Linux, puede ejecutar cualquiera de los siguientes comandos:

$ ps -A

o:

$ ps -e
comando ps -e
Salida de ps -e

Además, para enumerar todos los procesos en ejecución, ejecute:

$ ps -r
comando ps -r
Salida de ps -r

02) Mostrar todos los procesos (formato BSD)

Para ver todos los procesos en su sistema Linux usando el comando ps en formato BSD, puede ejecutar los siguientes comandos:

$ ps ax

o

$ ps aux
comando ps aux
Salida de ps aux

Dónde:

  • USUARIO: el usuario ejecuta el proceso
  • PID: la identificación del proceso
  • % CPU /% MEM: el porcentaje de CPU / RAM que están ocupados por los procesos
  • VSZ: el tamaño de la memoria virtual que ocupan los procesos
  • RSS: el tamaño de la memoria física que ocupan los procesos
  • INICIO – hora de inicio
  • STAT – el estado del proceso en el que: S (durmiendo), R (corriendo), I (sueño interrumpible).
  • Tiempo: muestra cuánto tiempo de CPU dio el kernel para ese proceso en ejecución.
  • COMANDO: el comando que se ejecuta como un proceso actual

03) Mostrar todos los procesos que se ejecutan mediante un comando

Para enumerar todos los procesos que se ejecutan mediante un comando, usemos la siguiente sintaxis:

$ ps -C <command_name>

Por ejemplo, enumere todos los procesos del comando ‘/ usr / sbin / kerneloops’ ejecutando:

$ ps -C kerneloops
comando ps -C
Salida de ps -C

También puede utilizar un argumento en forma de una lista separada por espacios en blanco o por comas, por ejemplo:

$ ps -C sshd,systemd

04) Mostrar todos los procesos que ejecuta un usuario

Si desea enumerar el proceso por usuario cuyo ID de usuario 1000, ejecutemos el siguiente comando:

$ ps -u 1000

comando ps u

También puede buscar el proceso por nombre de usuario:

$ ps -U root -u root u

los -U parameter seleccionará por real user ID (RUID). Selecciona los procesos cuyo nombre de usuario real o ID está en la lista de usuarios. El ID de usuario real identifica al usuario que creó el proceso.

Mientras que la -u paramater seleccionará por ID de usuario efectivo (EUID)

05) Mostrar procesos propiedad del grupo

Para enumerar todos los procesos que pertenecen a un nombre de grupo específico, ejecutemos el comando con -fG opción. Por ejemplo:

$ ps -fG cas
comando ps -fG
Salida de ps -fG

Para mostrar todos los procesos por ID de grupo, puede ejecutar el comando con la opción ‘-g’. Por ejemplo:

$ ps -g 1

Producción:

   PID TTY          TIME CMD
     1 ?        00:00:03 systemd

06) Mostrar procesos por PID

Puede enumerar todos los procesos por PID ejecutando el comando ps con la opción ‘-fp’. Por ejemplo:

$ ps -fp 34531

Producción:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34531      1  0 06:16 ?        00:00:00 /lib/systemd/systemd --user

Además, para listar todos los procesos por PPID, ejecutemos el comando con la opción ‘–ppid’:

$ ps -f --ppid 34529

Producción:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34609  34529  0 06:16 ?        00:00:00 sshd: cas@pts/0

07) Mostrar procesos por TTY

Para mostrar todos los procesos por TTY, puede ejecutar el comando con la opción ‘-t’. Por ejemplo:

$ ps -t tty1
comando ps -t tty1
Salida de ps -t

08) Mostrar procesos propiedad del usuario actual

Para enumerar todos los procesos que está ejecutando el usuario actual, ejecutemos el comando con la opción ‘-x’:

$ ps -x
comando ps -x
Salida de ps -x

09) Mostrar todos los procesos con una lista de formato completo

Por ejemplo, ejecutemos el comando ps con -f opción, para mostrar todo el proceso con el formato completo:

$ ps -af
comando ps -af
Salida de ps -af

10) Mostrar todos los procesos con formato adicional

Además, para ver la lista de formato completo adicional del resultado, ejecute el comando ps con -F opción. Por ejemplo:

$ ps -F
comando ps -F
Salida de ps-F

11) Mostrar todos los procesos en formato de jerarquía ASCII

Para ilustrar, asumiendo que desea mostrar todo el proceso en su sistema Linux en formato de jerarquía de procesos artísticos ASCII, ejecutemos:

$ ps af

La salida estará en formato «bosque»:

comando ps af
Salida de ps af

12) Proceso de visualización en salida ampliada

Si desea ampliar la salida al ejecutar el comando ps, use w opción:

$ ps w

Hagamos una comparación entre las salidas de ejecutar ‘ps w’ y ‘ps’:

comando ps w
Salida ps w y ps

13) Proceso de visualización de acuerdo con el formato definido por el usuario

Puede utilizar la siguiente sintaxis para ver en formato definido por el usuario:

Syntax:
$ ps --format column_name
$ ps -o column_name
$ ps o column_name

For example:
$ ps -e -o user,pid,cmd

14) Mostrar hilos con ID de hilo

Por ejemplo, para mostrar los hilos con la columna SPID (SPID es el ID del hilo), ejecute:

$ ps -aT
comando ps -aT
Salida de ps -aT

15) Muestra la información sobre los hilos.

Además, puede usar la opción ‘-L’ para obtener información sobre los subprocesos en su sistema Linux:

$ ps -aL

La salida con la columna ‘LWP’ le muestra la identificación del hilo:

comando ps -aL
Salida de ps -aL

Algunos ejemplos mas

01) Compruebe qué procesos consumen más RAM

El siguiente comando mostrará la mayoría de los procesos que utilizan memoria, %MEM en la 1ra columna, PID en la segunda columna y el comando en la tercera columna para todos los procesos en ejecución en el sistema:

$ ps -eo pmem,pid,cmd | sort -k 1 -nr

02) Muestra todos los subprocesos de una identificación de proceso específica

Esto mostrará todos los hilos de un pid de proceso en particular.

$ ps -Lf -p 3482

03) Muestra el proceso hijo de un padre

Esto mostrará todos los procesos secundarios de un proceso y es útil para descubrir qué procesos se han bifurcado fuera de este proceso principal.

$ ps -o pid,pcpu,pmem,uname,comm -C apache2

04) Muestra cuánto tiempo se ha estado ejecutando el proceso.

El siguiente comando mostrará cuánto tiempo ha estado ejecutándose el proceso ‘mysql’ en el sistema:

$ ps -e -o pid,comm,etime | grep mysql
3107 mysqld_safe 18-07:01:53
3469 mysqld 18-07:01:52
  • etime: tiempo transcurrido desde que se inició el proceso, en la forma [[DD-]hh:]mm: ss.
  • etimes: tiempo transcurrido desde que se inició el proceso, en segundos.

05) Obtenga información de seguridad

Si queremos ver quién está conectado actualmente a su servidor, podemos verlo usando el comando ps:

$ ps -eo pid,user,args

Ahora puede asignar pids a sus respectivas unidades systemd mediante el siguiente comando:

$ ps -e -o pid,unit,cmd

Conclusión

El pstree (o use ps -axjf) y pgrep son comandos adicionales que pueden ayudar a obtener información sobre el proceso en ejecución.

Puede usar ps como monitor en tiempo real usando el comando watch, digamos, queremos filtrar los procesos por CPU y el informe de uso de memoria se actualiza cada 1 segundo.

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

En este tutorial, aprendimos muchas formas de usar el comando ps en Linux. Para explorar todas las opciones, consulte ps man page. Gracias por leer y deje su sugerencia en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar