Comenzando con el comando PS en Linux:
Para comenzar, ejecutemos el comando PD sin parámetros. En este caso, el comando PS mostrará solo procesos ejecutados por el usuario root.
$ PS
Entendiendo el PD Salida del comando:
Las 4 columnas que se muestran contienen la siguiente información:
Si desea mostrar a todos los procesos de usuarios, debe agregar la bandera -hacha Como se muestra abajo:
$ ps -ax
La bandera -a utilizado en la captura de pantalla a continuación indica que PS muestra todos los procesos, excepto los líderes de sesión y los procesos no asociados con los terminales. La bandera -X muestra procesos sin un terminal de control y procesos con un terminal de control.
Nota: Un líder de la sesión es un proceso cuyos PID y SID son los mismos.
La mayoría de los usuarios de Linux ejecutan PS -AXU. La bandera -u muestra el usuario efectivo de un proceso. Un usuario efectivo es el usuario cuyos permisos de acceso a archivos son utilizados por el proceso (este tema se explica en el tutorial setuid, setgid y sticky bit explicados).
Como puede ver en la captura de pantalla a continuación, agregando el -u aparecerán las nuevas columnas de la bandera.
$ ps -axu
Las columnas muestran la siguiente información:
USUARIO: muestra al usuario efectivo, cuyos permisos se utilizan para ejecutar el proceso.
%UPC: Esta columna muestra el cálculo del tiempo utilizado por el proceso dividido por el momento en que el proceso está en ejecución.
%MEM: Esta columna muestra el RSS (tamaño de conjunto de residente) dividido por la memoria usada. Esta columna no es recomendable para que los usuarios verifiquen el uso de la memoria porque la cantidad de memoria usada no es exacta. Si desea verificar el uso de la memoria por proceso, puede leer cómo verificar el uso de la memoria por proceso en Linux.
VSZ: Muestra la memoria virtual utilizada por el proceso.
RSS: Tamaño del set de residente. Muestra la memoria ocupada por un proceso en la memoria RAM (no en Swap).
COMENZAR: Esta columna muestra cuándo comenzó el proceso.
TIEMPO: Uso de la CPU de proceso o subproceso, incrementado cada vez que el reloj del sistema marca y el proceso o hilo se ejecuta
DOMINIO: Esto es lo mismo que la columna CMD explicada anteriormente.
Estadística: Las estadísticas de la columna muestran los estados del código para el proceso. Las posibles estadísticas de código explicadas en la página de PS Man son:
Mostrando un proceso de usuario específicos utilizando PS:
Si desea verificar solo procesos ejecutados por un usuario específico (usuario efectivo), puede usar -u bandera; explicado anteriormente sin banderas adicionales, seguido del nombre de usuario cuyos procesos desea enumerar. Esto mostrará al usuario efectivo, cuyos permisos se utilizan para ejecutar el proceso, pero no el usuario que llamó el proceso (usuario real).
Nota: Si no sabe qué son los usuarios efectivos y reales, la explicación es al final de esta sección.
El siguiente ejemplo muestra procesos para el usuario Linuxhint Como usuario efectivo.
$ ps -u linuxhint
Si en lugar de verificar a los usuarios efectivos, desea verificar los procesos ejecutados como usuarios reales, simplemente use un capital U en cambio.
$ ps -u linuxhint
Usuarios efectivos frente a usuarios reales:
La ID de usuario real representa al usuario que ejecuta un proceso. Por ejemplo, el usuario que llama a un programa en la terminal. La ID de usuario efectiva representa al usuario cuyos permisos se están utilizando para ejecutar un programa. Esto es aplicable, por ejemplo, cuando un usuario ejecuta un programa con setUid. Lo mismo sucede con los grupos, y podemos identificar grupos efectivos y reales. Si no comprende este tema, puede leer el tutorial setuid, setgid.
Mostrando un proceso de usuario específicos utilizando PS:
Si desea mostrar procesos grupales reales, una capital -GRAMO seguido del grupo lo mostrará.
Raíz de $ ps -g
Si desea mostrar grupos efectivos, agregue el -gramo bandera seguida del grupo efectivo.
Raíz de $ ps -g
Mostrar la jerarquía de procesos:
La bandera -bosque le permite mostrar procesos que muestran jerarquía y procesos asociados como se muestra en la captura de pantalla a continuación.
$ ps -axu - -forest
Mostrar procesos por TTY:
También puede usar el comando PS para mostrar qué procesos fueron iniciados por un terminal específico, o a qué procesos terminales pertenecen. Puede implementarlo agregando el -T bandera seguida del TTY que desea identificar, como se muestra en el ejemplo a continuación.
$ ps -t tty1
Mostrar información adicional sobre los procesos:
Hay diferentes versiones de PS: versiones UNIX, BSD y GNU. Este tutorial está optimizado para la versión Unix. Puede mostrar la versión BSD con información adicional agregando el -l Bandera como se muestra en la captura de pantalla a continuación. Agregará nuevas columnas con información adicional.
$ ps -l
Como puede ver, las nuevas columnas son UID, PPID, PRI, NI y WCHAN.
Uid: Muestra la identificación del usuario que ejecutó el proceso.
PPID: Muestra el proceso PID Padre.
PRI: Muestra la prioridad del proceso (kernel)
Ni: Muestra la prioridad del proceso (espacio de usuario)
Wchan: Muestra el nombre de la función del núcleo en la que duermen los procesos.
Hay mucho más sobre el comando PS que puede leer en la página del hombre o en un siguiente tutorial de tutorías que Linux se lanzará en el comando PS para usuarios avanzados.
Conclusión:
El comando PS es un comando básico que cualquier usuario de Linux debe saber cómo aplicar y comprender. Aprender a usar e interpretar el resultado es una forma real de incorporar conocimiento adicional, como usuarios y grupos efectivos y reales.
Como se muestra en este tutorial, cualquier nivel de usuario de Linux puede aprender fácilmente cómo implementar este comando con todas las banderas y opciones disponibles.
Espero que este tutorial haya sido útil. Siga siguiendo la pista de Linux para obtener más consejos y tutoriales de Linux.