comando ps aux y comando ps explicados
Este tutorial explica cómo usar el comando ps en Linux. También proporciona más de 10 ejemplos prácticos del comando ps. Aprenda a leer la salida del comando ps aux en detalle.
Una breve introducción del comando ps
El comando ps (process status) es uno de los comandos más utilizados en Linux. Por lo general, se utiliza para obtener información más detallada sobre un proceso específico o todos los procesos. Por ejemplo, se utiliza para saber si un proceso en particular se está ejecutando o no, quién está ejecutando qué proceso en el sistema, qué proceso está utilizando memoria o CPU más altas, cuánto tiempo se está ejecutando un proceso, etc.
Configuración de laboratorio
Para practicar, inicie algunas aplicaciones y manténgalas en ejecución. Cambie la cuenta de usuario y repita el mismo proceso.
Ahora supongamos que usted es un administrador del sistema y, al ser un administrador del sistema, desea saber qué está pasando en el sistema.En este caso, puede usar el comando ps para obtener la información requerida.
Usando el comando ps
Abra terminal y ejecute el comando ps
Sin ninguna opción y argumento, el comando ps muestra solo el proceso que se ejecuta en la cuenta de usuario iniciada desde el terminal actual.
Puede preguntarse por qué el comando ps muestra dos procesos mientras no hemos ejecutado ningún proceso desde este terminal hasta ahora.
Bien first el primer proceso muestra el proceso bajo el cual se abre este terminal. Este proceso permanece abierto, hasta que se abre la terminal.
El segundo proceso muestra el último comando ejecutado en este terminal.
Especificar opciones con el comando ps
El comando ps acepta opciones en tres estilos.
Estilo UNIX BSD: – En este estilo, las opciones se suministran sin ningún guion principal (como «aux»).
AT& T Estilo Unix: – En este estilo, las opciones se suministran con un guion principal (como «-aux»).
Estilo GNU Linux: – En este estilo, las opciones se suministran con guiones principales dobles (como «sort sort»).
Aunque el comando PS acepta opciones en el estilo de mezcla, siempre debe usar un solo estilo para especificar las opciones.
Ejemplos básicos del comando ps
Para imprimir todos los procesos en ejecución en el sistema, utilice cualquiera de los siguientes comandos.
$ps –A$ps -e
Las opciones A y e proporcionan una visión general resumida de la ejecución processes.To imprima la descripción detallada, utilice las opciones f (formato completo) y F (formato extra completo) con estas opciones.
Para ver la misma salida en estilo Unix BSD, utilice las opciones «aux».
El comando» ps aux » es el comando más utilizado por los administradores de Linux. Antes de pasar al siguiente ejemplo, vamos a entender las opciones utilizadas en este comando en detalle.
opciones de comando ps aux
a: – Esta opción imprime los procesos en ejecución de todos los usuarios.
u: – Esta opción muestra la columna usuario o propietario en la salida.
x:- Esta opción imprime los procesos que no se han ejecutado desde el terminal.
Colectivamente, las opciones «aux» imprimen todo el proceso en ejecución en el sistema, independientemente de dónde se hayan ejecutado.
El ps aux salida del comando descripción de la columna por columna
Columna | Descripción |
USUARIO | La cuenta de usuario bajo el que se ejecuta este proceso |
PID | ID de Proceso de este proceso |
%de la CPU | tiempo de CPU utilizado por este proceso (en porcentaje). |
%MEM | memoria Física usada por este proceso (en porcentaje). |
VSZ | memoria Virtual utilizada por este proceso (en bytes). |
RSS | Tamaño del conjunto residente, la memoria física no intercambiable utilizada por este proceso (en KiB) |
TTY | Terminal desde el que se inicia este proceso. Signo de interrogación (?) sign representa que este proceso no se inicia desde una terminal. |
STAT | estado del Proceso. Se explica en la siguiente tabla. |
INICIO | hora y fecha de Inicio de este proceso |
TIEMPO | tiempo Total de CPU utilizado por este proceso de |
COMANDO | El comando con todos sus argumentos en que se inició este proceso |
ps aux stat código descripción
D | ininterrumpida del sueño (generalmente IO) |
R | ejecutar o ejecutables (en la cola de ejecución) |
S | interrumpible de suspensión (espera de un evento para completar) |
T | detenido por el trabajo de la señal de control |
t | detenido por depurador durante el seguimiento |
w | paginación (no válido, ya que la 2.6.xx kernel) |
x | muerto (nunca debe ser visto) |
Z | inactivo («zombie»), el terminado, pero no cosechado por su padre |
< | de alta prioridad (que no es agradable para los otros usuarios) |
N | de baja prioridad (niza a otros usuarios) |
L | tiene páginas bloqueadas en la memoria (en tiempo real y personalizada IO) |
s | es una sesión líder |
l | es multi-hilo (utilizando CLONE_THREAD, como NPTL pthreads hacer) |
+ | es en el grupo de procesos en primer plano |
Puntos clave
- El uso de CPU se expresa como el porcentaje de tiempo empleado en ejecución durante toda la vida útil de un proceso.
- Los campos TAMAÑO y RSS no cuentan algunas partes de un proceso, incluidas las tablas de páginas, la pila del núcleo, la estructura thread_info y la estructura task_struct.
- EL tamaño es el tamaño virtual del proceso (código+datos+pila).
- Los procesos marcados <difuntos> son procesos muertos (los llamados «zombis») que permanecen porque su padre no los ha destruido correctamente.
- Si la longitud del nombre de usuario es mayor que la longitud de la columna de visualización, el nombre de usuario se truncará.
Más de 10 ejemplos prácticos del comando ps
Para mostrar todo el proceso que se ejecuta bajo la cuenta de usuario root, utilice el siguiente comando.
$ps -U root -u root
En este comando: –
– U: – Seleccione el proceso basado en el nombre o ID de usuario real.
– u: – Seleccione el proceso basado en el nombre o ID de usuario efectivo.
RUID (ID de usuario real) representa el nombre del usuario, mientras que EUID (ID de usuario efectivo) describe al usuario cuyos permisos de acceso a archivos utiliza el proceso.
Para mostrar todo el proceso que ejecuta una cuenta de usuario específica, utilice el siguiente comando.
$ps –U –u
Para mostrar todo el proceso que se ejecuta en un grupo en particular, use el siguiente comando.
$ps –G
Para obtener una descripción detallada, también podemos combinar la opción –G con la opción –F.
$ps –FG
Para mostrar todo el proceso en jerarquía, podemos usar el siguiente comando.
$ps –A --forest
Mostrando solo columnas específicas
El comando ps predeterminado muestra todas las columnas. Si solo estamos interesados en columnas en particular,podemos limitar la salida especificando los nombres de columna requeridos como argumentos.
Por ejemplo, para ver solo las columnas PID, USER y CMD, podemos usar el siguiente comando.
$ps –eo pid,user,cmd
Encontrar el proceso que está utilizando la memoria más alta
De forma predeterminada, el comando ps no ordena la salida. Al establecer el orden de clasificación en % MEM, podemos encontrar los procesos que consumen recuerdos más altos.
Para establecer el orden de clasificación, se utiliza la opción sort sort=. También podemos combinar esta opción con otras opciones para obtener la salida más específica.
Por ejemplo, vamos a mostrar solo los campos específicos y ordenarlos por usos de memoria.
$ps –eo pid,user,%mem,cmd --sort=-%mem
Limitar la salida
De forma predeterminada, el comando ps no limita el resultado en la salida.Si solo estamos interesados en conocer los tres procesos principales que consumen la memoria más alta,en lugar de mostrar la salida del comando ps en la terminal, podemos redirigirlo al comando head.
De forma predeterminada, el comando head muestra las 10 líneas principales de la fuente proporcionada.Podemos anular este comportamiento predeterminado especificando los números de línea requeridos.
Para mostrar solo los tres procesos principales, podemos usar la opción»- n 4 » con el comando head.
Para 3 resultados, proporcione el dígito 4 como argumento. Al igual que en la salida del comando ps, la primera línea está ocupada por los títulos.
Encontrar el proceso que está utilizando la CPU más alta
Al igual que descubrimos los procesos que consumen más memoria,también podemos encontrar los procesos que consumen más CPU ordenando la salida en función de la columna CPU.Por ejemplo, el siguiente comando imprime los 3 procesos principales ordenados por el uso de la CPU.
$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4
Encontrar el número total de procesos que ejecuta un usuario
Para averiguar el número total de procesos que ejecuta un usuario, use el siguiente comando
$ps –U –u | wc –l
Leave a Reply