Articles

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.

configuración de laboratorio para la práctica del comando ps

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

comando ps sin opción y argumento

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

comandos ps-A y 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.

comandos ps-ef y ps-af

Para ver la misma salida en estilo Unix BSD, utilice las opciones «aux».

comando ps 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.

comando ps-u-U

Para mostrar todo el proceso que ejecuta una cuenta de usuario específica, utilice el siguiente comando.

$ps –U –u 

comando ps mostrar todo el proceso que se ejecuta en una sola cuenta de usuario

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 

comando ps-fg

Para mostrar todo el proceso en jerarquía, podemos usar el siguiente comando.

$ps –A --forest

ps-A forest 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

columna de visualización limitada de ps

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

salida ps ordenar por usos de memoria

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.

salida limitante ps

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

salida ps ordenar por usos de cpu

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