Una de mis actividades menos favoritas como ingeniero de soporte fue tratar de filtrar la pila de escombros que es el ps
dominio. Inevitablemente, un proceso de Java fallaría y se atascaría en un puerto que necesitaba abrir para reiniciar un servicio. El servicio se mostraría como activo , pero no había funcionalidad. Esta situación era confusa para los técnicos junior y era algo que se me pedía que corrigiera muchas, muchas veces encontrando el proceso que estaba atascado y eliminándolo. También hay momentos en los que es posible que necesite ver si un proceso en particular se está ejecutando o averiguar si un proceso ha generado procesos secundarios. Estos escenarios son donde la comprensión de los grupos de control será de gran ayuda. Los grupos de control, en un nivel básico, organizan los procesos en función del padre y luego organizan los procesos en una jerarquía.
Aquí, veremos dos formas de mejorar el ps
estándar comando que la mayoría de la gente usa. Sé que muchas personas emparejan ps
con grep
, y al igual que el pastel de nuez y Noah's Mill, apoyo plenamente esta práctica. También lo animo a que consulte los siguientes dos métodos, ya que pueden facilitar un poco la comprensión de las jerarquías de procesos.
Método uno
El primer método es un ps
estándar comando con el árbol de procesos habilitado. Cuando ejecutas este comando:
[root@fed31 ~]# ps xawf -eo pid,user,cgroup,args
el siguiente resultado podría ser el resultado:

Esta salida se ha acortado porque es muy detallada. Sin embargo, recibe una gran cantidad de información con este comando. De izquierda a derecha tenemos el PID, USER, CGROUP y COMMAND.
Encuentro que esta salida es una excelente manera de ver exactamente qué proceso pertenece a qué trabajo principal. También está en un formato bastante fácil de usar. El comando en sí puede ser mucho para escribir de forma regular, por lo que recomiendo configurar un alias de shell. Para obtener más información sobre cómo crear un alias, consulte mi artículo sobre el tema aquí. Por ahora, algo como esto sería apropiado:
alias pscgroup='ps xawf -eo pid,user,cgroup,args'
Método dos
La siguiente opción que veremos es un systemd
utilidad. Este método es una forma aún mejor, en mi humilde opinión, de ver qué trabajo pertenece a qué proceso principal o propietario. Cuando escribes esto:
[root@fed31 ~]# systemd-cgls
el resultado podría verse así:

Una vez más, la captura de pantalla se ha acortado debido a la longitud de la salida. En esta versión, puede ver más fácilmente qué proceso pertenece a qué usuario, además, cada proceso muestra sus procesos secundarios como subconjuntos de información. Este método es una forma súper simple de ver la organización de los procesos y encontrar rápidamente la propiedad.
Estos dos métodos de visualización de procesos me ayudaron a comprender qué posee qué. ¡Con suerte, usted también encontrará estos útiles!
[¿Quiere probar Red Hat Enterprise Linux? Descárguelo ahora gratis.]