GNU/Linux >> Tutoriales Linux >  >> Linux

15 comandos ps de Linux con ejemplos

El ps 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 las miradas 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]

Las 'opciones' del comando ps pueden ser:

  • Opciones de UNIX:precedido por un guión
  • Opciones de BSD:deben usarse sin 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 el resultado:

$ ps

Por defecto 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
  • TIME indica cuánto tiempo usa la CPU mientras ejecuta el comando
  • CMD es un comando que se ejecuta como un proceso actual

Ejecutar el comando ps sin ninguna opción es solo el formato más simple del comando, no devuelve mucha información. Para aprovechar al máximo la potencia del comando ps, ejecútelo 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

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

$ 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

donde:

  • USUARIO:el usuario ejecuta el proceso
  • PID - la identificación del proceso
  • %CPU/%MEM:el porcentaje de CPU/RAM ocupado por los procesos
  • VSZ:el tamaño de la memoria virtual que ocupan los procesos
  • RSS:el tamaño de la memoria física ocupada por los procesos
  • INICIO - hora de inicio
  • STAT:el estado del proceso en el que:S (dormido), R (en ejecución), I (suspensión interrumpible).
  • Tiempo:muestra cuánto tiempo de CPU le 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 ejecutarán mediante un comando

Para listar todos los procesos que serán ejecutados por 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

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

$ ps -C sshd,systemd

04) Mostrar todos los procesos que ejecuta un usuario

Si desea enumerar el proceso por usuario cuya identificación de usuario es 1000, ejecutemos el siguiente comando:

$ ps -u 1000

También puede buscar procesos por nombre de usuario:

$ ps -U root -u root u

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

Mientras que el parámetro -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

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

$ ps -g 1

Salida:

   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

Salida:

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

Salida:

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

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

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

10) Mostrar todos los procesos con formato extra

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

$ ps -F

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

Para ilustrar, suponiendo que desea mostrar todo el proceso en su sistema Linux en formato de jerarquía de proceso de arte ASCII, ejecutemos:

$ ps af

La salida estará en formato "bosque":

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 los resultados de ejecutar 'ps w' y 'ps':

13) Proceso de visualización según el formato definido por el usuario

Puede usar 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 subprocesos con la columna SPID (SPID es la identificación del subproceso), ejecute:

$ ps -aT

15) Mostrar la información sobre hilos

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

$ ps -aL

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

Algunos ejemplos más

01) Comprobar qué procesos consumen más RAM

El siguiente comando mostrará la mayor parte de la memoria usando procesos, %MEM en la primera columna, PID en la segunda columna y 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 un ID de proceso específico

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

$ ps -Lf -p 3482

03) Muestra el hijo de un proceso padre

Esto mostrará todos los procesos secundarios de un proceso y es útil para averiguar qué procesos se han bifurcado 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 se ha estado ejecutando 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) Obtener información de seguridad

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

$ ps -eo pid,user,args

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

$ ps -e -o pid,unit,cmd

Conclusión

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 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 la página man de ps. Gracias por leer y por favor deje su sugerencia en la sección de comentarios a continuación.


Linux
  1. Comando wc Linux con ejemplos

  2. Comando de clasificación de Linux con ejemplos

  3. Comando Linux Tee con ejemplos

  4. Comando de cabeza de Linux con ejemplos

  5. Comando JQ en Linux con ejemplos

Comando de vigilancia de Linux con ejemplos

Comando de espera en Linux con ejemplos

Comando de exportación de Linux con ejemplos

Comando de reinicio en Linux con ejemplos

Comando Linux PS con ejemplos

Comando IP de Linux con ejemplos