30 Ejemplos útiles de 'comando PS' para el monitoreo de procesos de Linux

30 Ejemplos útiles de 'comando PS' para el monitoreo de procesos de Linux

PD (Estado de procesos) es una utilidad nativa de Unix /Linux para ver la información sobre 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 en el sistema. Es una de las utilidades importantes para la administración del sistema específicamente en el monitoreo de procesos, para ayudarlo a comprender lo que está sucediendo en un sistema Linux.

Tiene numerosas opciones para manipular su salida, sin embargo, encontrará un pequeño número de ellas prácticamente útil para el uso diario.

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

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

Tenga en cuenta que PD produce 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 el Página de Man Man.

Enumere todos los procesos en el shell actual

1. Si corres el comando PS Sin ningún argumento, muestra procesos para el shell actual.

$ PS 
Lista de procesos de ejecución actuales

Imprima todos los procesos en diferentes formatos

2. Muestra cada proceso activo en un sistema Linux en formato genérico (unix/linux).

$ ps -a o $ ps -e 
Procesos de lista en formato estándar

3. Mostrar todos los procesos en BSD formato.

$ ps au o $ ps axu 
Procesos de lista en formato BSD

4. Para realizar una lista de formato completo, agregue el -F o -F bandera.

$ ps -ef o $ ps -ef 
Procesos de lista en formato de lista largo

Mostrar procesos de ejecución del usuario

5. Puede seleccionar todos los procesos propiedad de usted (corredor del comando PS, raíz en este caso), escriba:

$ ps -x 

6. Para mostrar los procesos de un usuario por ID de usuario real (Ruid) o nombre, use el -U bandera.

$ ps -fu tecmint o $ ps -fu 1000 
Lista de procesos de usuario por ID

7. Para seleccionar los procesos de un usuario por usuario efectivo IDENTIFICACIÓN (Eúdico) o nombre, use el -u opción.

$ ps -fu tecmint o $ ps -fu 1000 

Imprima todos los procesos que se ejecutan como root (ID real y efectivo)

8. El siguiente comando le permite ver cada proceso que se ejecuta con raíz Privilegios de usuario (ID real y efectiva) en formato de usuario.

$ ps -u raíz -u raíz 
Mostrar procesos de ejecución de usuarios raíz

Mostrar procesos de grupo

9. Si desea enumerar todos los procesos propiedad de cierto grupo (ID de grupo real (Rgid) o nombre), escriba.

$ ps -fg apache o $ ps -fg 48 
Mostrar procesos de grupo

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

$ ps -fg apache 

Mostrar procesos de PID y PPID

11. Puede enumerar procesos por Pid como sigue.

$ ps -fp 1178 
Lista de procesos de PID

12. Para seleccionar el proceso por Ppid, tipo.

$ PS -F --PPID 1154 
Proceso de lista de PPID

13. Hacer una selección usando un Pid lista.

$ PS -FP 2226,1154,1146 
Lista de procesos de PIDS

Procesos de visualización de TTY

14. Para seleccionar procesos por tty, utilizar el -T bandera de la siguiente manera.

$ ps -t pts/0 $ ps -t pts/1 $ ps -ft tty1 
Procesos de lista de TTY

Árbol de proceso de impresión

15. Un árbol de proceso 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 
Árbol de proceso de lista

dieciséis. También puede imprimir un árbol de proceso para un proceso determinado como este.

$ ps -f --forest -c sshd o $ ps -ef --forest | GREP -V GREP | Grep SSHD 
Vista del árbol del árbol de la lista

Hilos de proceso de impresión

17. Para imprimir todos los hilos de un proceso, use el -L bandera, esto mostrará el LWP (proceso liviano) así como NLWP (número de procesos livianos) columnas.

$ ps -fl -c httpd 
Hilos de proceso de lista

Especificar formato de salida personalizado

Utilizando el -O o -formato Opciones, 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, incluir el L bandera.

$ ps l 

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

$ PS -EO PID, PPID, usuario, CMD 
Lista de 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 de buen valor, la hora de inicio y la hora transcurrida de un proceso.

$ PS -P 1154 -O PID, PPID, FGROUP, NI, LSTART, ETIME 
Información de identificación del proceso de lista

21. Para encontrar un nombre de proceso usando su PID.

$ ps -p 1154 -o comm = 
Encuentre el proceso usando PID

Mostrar procesos de padres e hijos

22. Para seleccionar un proceso específico por su nombre, use el indicador -c, esto también mostrará todos sus procesos infantiles.

$ ps -c sshd 
Encuentre el proceso de los padres e hijos

23. Encuentra todos Pids de todos los casos de un proceso, útil al escribir scripts que necesitan leer Pids Desde una salida o archivo STD.

$ ps -c httpd -o pid = 
Encuentra todos los PID de proceso

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

$ PS -EO Comm, etime, usuario | grep httpd 

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

Encontrar tiempo de actividad del proceso

Solucionar problemas de rendimiento del sistema Linux

Si su sistema no funciona como debería ser, por ejemplo, si es inusualmente lento, puede realizar alguna solución de problemas del sistema de la siguiente manera.

26. Encuentre los procesos de ejecución superior por el uso de memoria y CPU más alto en Linux.

$ PS -EO PID, PPID, CMD,%MEM,%CPU --sort = -%MEM | cabeza o $ ps -EO PID, PPID, CMD,%MEM,%CPU --sort = -%CPU | cabeza 
Encuentre los procesos de ejecución superior

27. Para matar procesos de Linux/aplicaciones que no respondan o cualquier proceso que consuma un alto tiempo de CPU.

Primero, encuentra el Pid del proceso o aplicación que no responde.

$ PS -A | GREP -I Estrés 

Luego use el comando matar para terminarlo inmediatamente.

$ Kill -9 2583 2584 
Encuentra y mata un proceso

Imprimir información de seguridad

28. Mostrar contexto de seguridad (específicamente para Selinux) como esto.

$ ps -em o $ ps - -Context 
Encuentra 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, Etiqueta 
Lista de contexto de Selinux por usuarios

Realice el monitoreo de procesos en tiempo real utilizando la utilidad de los relojes

30. Finalmente, desde PD Muestra información estática, puede emplear la utilidad de los relojes para realizar el 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 una personalizada comando PS Para lograr su objetivo).

$ watch -n 1 'PS -EO PID, PPID, CMD,%MEM,%CPU --sort = -%MEM | cabeza' 
Monitoreo 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: los dos últimos son, de hecho, herramientas de monitoreo de rendimiento del sistema de Linux.

También le gustaría leer los siguientes artículos relacionados.

  1. Cómo encontrar un nombre de proceso usando el número PID en Linux
  2. Encuentre los procesos de ejecución superior por el uso de memoria y CPU más alto en Linux
  3. Una guía para matar, pkill y killall comandos para terminar un proceso en Linux
  4. Cómo encontrar y matar procesos de ejecución en Linux
  5. Cómo iniciar el comando Linux en el fondo y separar el proceso en la terminal

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