30 ejemplos útiles de 'comando ps' para monitoreo de procesos de Linux


ps ( estado de los procesos ) es una utilidad nativa de Unix/Linux para ver información sobre una selección de procesos en ejecución en un sistema: lee esta información de los archivos virtuales en/proc sistema de archivos. Es una de las utilidades importantes para la administración del sistema específicamente bajo la supervisión del proceso, 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.

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 .

Listar todos los procesos en el shell actual

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

$ ps 

Imprimir todos los procesos en diferentes formatos

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

$ ps -A
OR
$ ps -e

3. Muestra todos los procesos en formato BSD .

$ ps au
OR
$ ps axu

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

$ ps -ef
OR
$ ps -eF

Mostrar procesos en ejecución del usuario

5. Puedes seleccionar todos los procesos que posees (corredor del comando ps , raíz en este caso), escribe:

$ ps -x 

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

$ ps -fU tecmint
OR
$ ps -fu 1000

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

$ ps -fu tecmint
OR
$ ps -fu 1000

Imprimir todos los procesos que se ejecutan como raíz (ID real y efectiva)

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

$ ps -U root -u root 

Mostrar procesos de grupo

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

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

$ ps -fg apache

Procesos de visualización por PID y PPID

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

$ ps -fp 1178

12. Para seleccionar el proceso mediante PPID , escriba.

$ ps -f --ppid 1154

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

$ ps -fp 2226,1154,1146

Mostrar procesos por TTY

14. Para seleccionar procesos mediante tty , use la marca -t de la siguiente manera.

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

Árbol de proceso de impresión

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

$ ps -e --forest 

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

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

Proceso de impresión de hilos

17. Para imprimir todos los subprocesos de un proceso, use el indicador -H , esto mostrará el LWP ( proceso de peso ligero ), así como las columnas NLWP ( número de proceso de peso ligero ).

$ ps -fL -C httpd

Especifique el formato de salida personalizado

Al usar 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 el indicador L .

$ ps L

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

$ ps -eo pid,ppid,user,cmd

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

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

21. Para buscar un nombre de proceso utilizando su PID.

$ ps -p 1154 -o comm=

Mostrar procesos primarios y secundarios

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

$ ps -C sshd

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

$ ps -C httpd -o pid=

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

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

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

Solucionar problemas de rendimiento del sistema Linux

Si su sistema no está funcionando como debería, por ejemplo, si es inusualmente lento, puede realizar algunos problemas de solución de problemas de la siguiente manera

26. Encuentre los principales procesos en ejecución mediante el 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

27. Para eliminar 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

Imprimir información de seguridad

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

$ ps -eM
OR
$ ps --context

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

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

Realizar monitoreo de procesos en tiempo real usando la utilidad Watch

rojo

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

  1. How to Find a Process Name Using PID Number in Linux
  2. Find Top Running Processes by Highest Memory and CPU Usage in Linux
  3. A Guide to Kill, Pkill and Killall Commands to Terminate a Process in Linux
  4. How to Find and Kill Running Processes in Linux
  5. How to Start Linux Command in Background and Detach Process in Terminal

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