Cómo usar el comando PS en la guía para principiantes de Linux

Cómo usar el comando PS en la guía para principiantes de Linux

El PD El comando es una utilidad de línea de comando predeterminada que puede darnos una idea de los procesos que se ejecutan actualmente en un sistema Linux. Puede brindarnos mucha información útil sobre estos procesos, incluido su PID (ID de proceso), TTY, el usuario que ejecuta un comando o aplicación, y más.

Si bien esto suena bastante simple, no se equivoque, el PD El comando puede volverse bastante complicado. Acepta muchas opciones diferentes, y puede ser útil en un número increíble de situaciones, incluso como parte de un guión de bash.

En este tutorial, te presentaremos el PD comandar, y repasar todas sus opciones más útiles, incluidos muchos ejemplos. Al final de la lectura de esta guía, estará armado con toda la información que necesita para aprovechar al máximo esta útil herramienta de línea de comandos.

En este tutorial aprenderás:

  • Cómo enumerar todos los procesos que se ejecutan en un sistema
  • Cómo utilizar PD comandar a través de ejemplos
Uso del comando PS para identificar procesos de ejecución en un sistema Linux Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software PD
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Cómo enumerar todos los procesos que se ejecutan en un sistema



El PD El comando puede ser un poco confuso para principiantes porque acepta opciones en algunas sintaxis diferentes. Es un comando muy antiguo que se ha encontrado en todos (o casi todos) el sistema Unix, BSD y Linux desde principios de los años 70. Como tal, la iteración actual se ha adaptado para aceptar sintaxis de UNIX (opciones precedidas con un tablero), BSD (opciones sin tablero) y GNU (opciones precedidas por dos guiones).

Es más fácil aprender sobre el PD comandar a través de ejemplos. Para comenzar, use algunos de los siguientes comandos en su propio sistema, y ​​eventualmente lo dominará.

El siguiente comando mostrará todos los procesos en ejecución en el sistema, y ​​es probablemente el más utilizado PD comando en general. Si solo hay una cosa que recuerdas después de leer este tutorial, debería ser este comando.

$ ps aux 

Observe que esto está usando sintaxis BSD (sin guiones). El uso de las mismas opciones en una sintaxis diferente puede producir un resultado diferente, por lo que sí, la sintaxis importa. Esto es lo que hacen estas opciones:

  • a - Mostrar procesos de todos los usuarios.
  • u - Mostrar formato orientado al usuario (muestra información adicional sobre procesos en ejecución).
  • X - Procesos de lista que no pertenecen a ningún TTY.

Esto probablemente producirá mucha salida en su terminal. Incluso en sistemas recién instalados, generalmente hay bastantes procesos que se ejecutan en segundo plano, y PD identificará cada uno. Intente tuvo el comando para menos o más Para hacer que la salida sea más manejable.

$ PS aux | menos 
Salida del comando PS aux

Como puede ver, hay bastantes columnas en nuestra salida, y algunas de ellas pueden ser crípticas para principiantes. Repasemos lo que significa cada uno:



  • USUARIO - El usuario con el que se ejecuta el proceso.
  • Pid - La identificación del proceso (a cada proceso se le asigna un número como ID).
  • %UPC - Cuánto porcentaje de CPU está utilizando el proceso.
  • %Mem - Cuánto porcentaje de RAM está utilizando el proceso.
  • Vsz - Tamaño de memoria virtual del proceso.
  • RSS - El tamaño de la memoria física que el proceso está utilizando.
  • Tty - A qué tty (pantalla terminal) está vinculado, o ? por ninguno.
  • Estadística - El código de estado del proceso; Hay muchos pero algunos comunes son S (durmiendo) y Riñonal (correr).
  • COMENZAR - El momento en que comenzó el proceso.
  • TIEMPO - El tiempo acumulado de la CPU que ha utilizado el proceso.
  • DOMINIO - El comando completo que se utilizó para generar el proceso de ejecución.

Cómo usar el comando PS a través de ejemplos

Ahora que tienes tu orientación con el PD comando, repasemos otros ejemplos útiles y comunes.

La siguiente sintaxis UNIX a menudo se usa en lugar de la sintaxis BSD que mostramos anteriormente. Es más conciso, lo que hace que sea más fácil ver las cosas de un vistazo, pero no tan detallado como ps aux.

$ PS -EF 
  • -mi - Mostrar procesos en ejecución de todos los usuarios.
  • -F - Mostrar listado de formato completo (muestra información adicional sobre los procesos en ejecución).
Salida del comando PS -EF

Nuestras columnas han cambiado un poco, pero en su mayoría significan lo mismo que con la sintaxis BSD. Aquí hay un resumen rápido de los nuevos:

  • Uid - ID de usuario, igual que USUARIO en sintaxis BSD.
  • Ppid - La identificación del proceso del proceso principal.
  • C - Utilización de la CPU, igual que %UPC en sintaxis BSD.
  • Estima - Hora de inicio, igual que COMENZAR en sintaxis BSD.

Si no necesita información tan detallada, solo use el -mi opción. El hacha Las opciones lograrán lo mismo.

$ ps -e pid tty tiempo cmd 1 ? 00:00:02 Systemd 2 ? 00:00:00 kthreadd 3 ? 00:00:00 rcu_gp ... $ ps ax pid tty stat time comando 1 ? SS 0:02 /SBIN /Init Splash 2 ? S 0:00 [Kthreadd] 3 ? I< 0:00 [rcu_gp] 


Una de las mejores características de PD es que puedes ordenar por cualquier columna que quieras. Por ejemplo, para clasificar los procesos por la cantidad de memoria que están usando:

$ ps aux --sort =-%mem | menos 
Ordenar la salida de PS por uso de la memoria

O ordenar por utilización de la CPU:

$ PS aux --sort =-%CPU | menos 

Si está buscando un proceso específico, es mejor tuviendo a Grep Grep. Esto es especialmente útil si necesita determinar rápidamente si un proceso se está ejecutando o no, o si necesita la identificación del proceso.

$ PS aux | GREP apache2 

El O opción en BSD y -O en unix nos permite especificar qué columnas queremos ver. Esto hace que el PD salida muy personalizable, solo enumerando la información que encontramos relevante. Todo lo que necesita hacer es enumerar cada columna que desee, separada con comas.

$ ps axo pid,%cpu,%mem, comando | menos 


Columnas de aislamiento en sintaxis BSD

Aquí hay otro ejemplo, pero usando la sintaxis de Unix y también clasificando la salida por uso de la CPU.

$ PS -EO PID, PPID, C --sort = -C | menos 
Aislado de columnas y resultados de clasificación por uso de la CPU en sintaxis de Unix

Pensamientos de cierre

En esta guía, vimos cómo usar el PD Comando en Linux para enumerar los procesos de ejecución en el sistema. También aprendimos diferentes ejemplos de línea de comando que nos permiten aislar la información que necesitamos.

La conclusión más importante de esta guía es la ps aux dominio. Con este comando, siempre puede ver cada proceso que se ejecuta en su sistema e identificar toda la información relevante. Tuberías para grep hace que el comando sea aún más poderoso. Para un control más granular, siempre puede consultar nuestra guía o la página del manual de PS.

Tutoriales de Linux relacionados:

  • Cómo propagar una señal a los procesos infantiles de una fiesta ..
  • Cosas para instalar en Ubuntu 20.04
  • Variables de Bash especiales con ejemplos
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Comandos básicos de Linux
  • Mastering Bash Script Loops
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Scripting de bash y gestión de procesos multiprocesos en el ..
  • Gestión de procesos de fondo bash