30 ejemplos útiles de ‘comando ps’ para la supervisión de procesos de Linux

ps ( estado de procesos ) es una utilidad nativa de Unix / Linux para ver información relativa a una selección de procesos en ejecución en un sistema: lee esta información de los archivos virtuales en el sistema de archivos / proc. Es una de las utilidades importantes para la administración de sistemas específicamente bajo supervisión de procesos, para ayudarlo a comprender qué está sucediendo en un sistema Linux.

Tiene numerosas opciones para manipular su salida, sin embargo, encontrará una pequeña cantidad de ellas prácticamente útiles para el uso diario.

Lea también : Todo lo que necesita saber sobre los procesos en Linux [Guía completa]

En este artículo, veremos 30 ejemplos útiles de comandos ps para monitorear procesos activos en ejecución en un sistema Linux.

Tenga en cuenta que ps produce una salida con una línea de encabezado, que representa el significado de cada columna de información puede encontrar el significado de todas las etiquetas en la página de manual de ps .

Enumerar todos los procesos en el shell actual

1. Si ejecuta el comando ps sin ningún argumento, muestra los procesos para el shell actual.

$ ps 

Enumerar los procesos en ejecución actualesEnumerar los procesos en ejecución actuales

Imprima todos los procesos en diferentes formatos

2. Visualice todos los procesos activos en un sistema Linux en formato genérico (Unix / Linux).

$ ps -A
OR
$ ps -e

Lista de procesos en formato estándarLista de procesos en formato estándar

3. Visualice todos los procesos en formato BSD .

$ ps au
OR
$ ps axu

Lista de procesos en formato BSDLista de procesos en formato BSD

4. Para realizar una lista de formato completo, agregue la marca -fo -F.

$ ps -ef
OR
$ ps -eF

Procesos de lista en formato de lista largaProcesos de lista en formato de lista larga

Mostrar procesos en ejecución del usuario

5. Puede seleccionar todos los procesos de su propiedad (corredor del comando ps , root en este caso), escriba:

$ ps -x 

6. Para mostrar los procesos de un usuario por ID de usuario real ( RUID ) o nombre, use la -Ubandera.

$ ps -fU tecmint
OR
$ ps -fu 1000

Lista de procesos de usuario por IDLista de procesos de usuario por ID

7. Para seleccionar los procesos de un usuario por ID de usuario efectivo ( EUID ) o nombre, use la -uopción.

$ ps -fu tecmint
OR
$ ps -fu 1000

Imprima todos los procesos que se ejecutan como raíz (ID real y efectivo)

8. El siguiente comando le permite ver todos los procesos que se ejecutan con privilegios de usuario raíz (ID real y efectivo) en formato de usuario.

$ ps -U root -u root 

Mostrar procesos en ejecución del usuario raízMostrar procesos en ejecución del usuario raíz

Procesos de grupo de visualización

9. Si desea enumerar todos los procesos que pertenecen a un determinado grupo (ID de grupo real ( RGID ) o nombre), escriba.

$ ps -fG apache
OR
$ ps -fG 48

Procesos de grupo de visualizaciónProcesos de grupo de visualización

10. Para enumerar todos los procesos que pertenecen al nombre de grupo efectivo (o sesión), escriba.

$ ps -fg apache

Procesos de visualización por PID y PPID

11. Puede enumerar los procesos por PID de la siguiente manera.

$ ps -fp 1178

Listar procesos por PIDListar procesos por PID

12. Para seleccionar el proceso por PPID , escriba.

$ ps -f --ppid 1154

Listar proceso por PPIDListar proceso por PPID

13. Realice una selección utilizando una lista PID .

$ ps -fp 2226,1154,1146

Listar procesos por PIDListar procesos por PID

Procesos de visualización por TTY

14. Para seleccionar procesos por tty , use el indicador -t de la siguiente manera.

$ ps -t pts/0
$ ps -t pts/1
$ ps -ft tty1

Listar procesos por TTYListar procesos por TTY

Árbol de proceso de impresión

15. Un árbol de procesos muestra cómo los procesos del sistema están vinculados entre sí los procesos cuyos padres han sido eliminados son adoptados por init (o systemd).

$ ps -e --forest 

Listar árbol de procesosListar árbol de procesos

16. También puede imprimir un árbol de procesos para un proceso dado como este.

$ ps -f --forest -C sshd
OR
$ ps -ef --forest | grep -v grep | grep sshd 

Vista de árbol de lista del procesoVista de árbol de lista del proceso

Hilos de proceso de impresión

17. Para imprimir todos los hilos de un proceso, use la -Lbandera, esto mostrará las columnas LWP ( proceso ligero ) así como NLWP ( número de procesos ligeros ).

$ ps -fL -C httpd

Listar subprocesos de procesoListar subprocesos de proceso

Especificar formato de salida personalizado

Con las opciones -o o –format , ps le permite crear formatos de salida definidos por el usuario como se muestra a continuación.

18. Para enumerar todos los especificadores de formato, incluya la Lbandera.

$ ps L

19. El siguiente comando le permite ver el PID , PPID , nombre de usuario y comando de un proceso.

$ ps -eo pid,ppid,user,cmd

Listar procesos con nombresListar procesos con nombres

20. A continuación se muestra otro ejemplo de un formato de salida personalizado que muestra el grupo del sistema de archivos, el valor agradable, la hora de inicio y el tiempo transcurrido de un proceso.

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

Mostrar información de ID de procesoMostrar información de ID de proceso

21. Encontrar un nombre de proceso usando su PID.

$ ps -p 1154 -o comm=

Encontrar proceso usando PIDEncontrar proceso usando PID

Mostrar procesos padre e hijo

22. Para seleccionar un proceso específico por su nombre, use la bandera -C, esto también mostrará todos sus procesos secundarios.

$ ps -C sshd

Encontrar el proceso de padres e hijosEncontrar el proceso padre-hijo

23. Encuentre todos los PID de todas las instancias de un proceso, lo que resulta útil al escribir scripts que necesitan leer los PID de un archivo o salida estándar.

$ ps -C httpd -o pid=

Buscar todos los PID de procesoBuscar todos los PID de proceso

24. Verificar el tiempo de ejecución de un proceso.

$ ps -eo comm,etime,user | grep httpd

El siguiente resultado muestra que el servicio HTTPD se ha estado ejecutando durante 1 hora, 48 minutos y 17 segundos.

Encuentre el tiempo de actividad del procesoEncuentre el tiempo de actividad del proceso

Solucionar problemas de rendimiento del sistema Linux

Si su sistema no funciona como debería, por ejemplo, si es inusualmente lento, puede solucionar algunos problemas del sistema de la siguiente manera.

26. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux.

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

Encuentre los mejores procesos en ejecuciónEncuentre los mejores procesos en ejecución

27. Para matar procesos de Linux / aplicaciones que no responden o cualquier proceso que consuma mucho tiempo de CPU.

Primero, busque el PID del proceso o aplicación que no responde.

$ ps -A | grep -i stress

Luego use el comando kill para terminarlo inmediatamente.

$ kill -9 2583 2584

Encuentra y elimina un procesoEncuentra y elimina un proceso

Imprimir información de seguridad

28. Muestre el contexto de seguridad (específicamente para SELinux ) de esta manera.

$ ps -eM
OR
$ ps --context

Encuentra el contexto de SELinuxEncuentra el contexto de SELinux

29. También puede mostrar información de seguridad en un formato definido por el usuario con este comando.

$ ps -eo  euser,ruser,suser,fuser,f,comm,label

Enumere el contexto de SELinux por usuariosEnumere el contexto de SELinux por usuarios

Realice la supervisión de procesos en tiempo real con la utilidad Watch

30. Finalmente, dado que ps muestra información estática, puede emplear la utilidad watch para realizar un monitoreo de procesos en tiempo real con salida repetitiva, que se muestra después de cada segundo como en el comando a continuación (especifique un comando ps personalizado para lograr su objetivo).

$ watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

Monitoreo de procesos en tiempo realMonitoreo de procesos en tiempo real

Importante : ps solo muestra información estática, para ver la salida actualizada con frecuencia puede usar herramientas como htop arriba, y miradas: las dos últimas son, de hecho, herramientas de supervisión del rendimiento del sistema Linux.

También le puede interesar leer los siguientes artículos relacionados.

  1. Cómo encontrar un nombre de proceso usando el número PID en Linux
  2. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux
  3. Una guía para los comandos Kill, Pkill y Killall para finalizar un proceso en Linux
  4. Cómo encontrar y eliminar procesos en ejecución en Linux
  5. Cómo iniciar el comando de Linux en segundo plano y desconectar el proceso en la terminal

Eso es todo por ahora. Si tiene algún ejemplo útil de comando ps para compartir (sin olvidar explicar lo que hace), use el formulario de comentarios a continuación.

Comandos de Linux

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux