Compruebe los procesos en ejecución como un usuario avanzado

¿Es su sistema Linux lento? ¿O sólo tienes curiosidad por saber qué pasa debajo del capó? Existe un potente programa incorporado llamado «ps» que permite a los usuarios ver una instantánea de los procesos que se ejecutan en un sistema. Discutimos algunas de las opciones disponibles para ps, y en conclusión, usted debería ser capaz de comprobar los procesos en ejecución en su computadora linux como un nerd experimentado.

Introducción

La mayoría de las versiones de ps aceptan opciones de estilo BSD (que pueden estar agrupadas y NO DEBEN ser usadas con un guión), opciones de estilo UNIX (que pueden estar agrupadas y DEBEN ser usadas con un guión), y opciones largas de GNU (que están precedidas por dos guiones). Para este artículo, mezclaremos y usaremos múltiples tipos de opciones, con un sesgo para los estilos UNIX. Por ejemplo:

ps -u root u -sort=pid
  • UNIX STYLE -u root especifica user = root
  • BSD STYLE u especifica la visualización del formato orientado al usuario. Esta es una de las opciones favoritas, ya que el formato de salida producido por el uso de esta opción contiene información muy útil.
  • GNU LONG OPTION -sort especifica el orden de clasificación del proceso. En este caso, ordene por identificación de proceso (pid)

Este artículo preferiría las opciones de UNIX, y usa BSD sólo por brevedad. Por ejemplo, el comando

ps u

Compruebe los procesos en ejecución como un usuario avanzado

muestra los procesos del usuario actual que están conectados a un terminal, con un formato de salida «orientado al usuario». Para obtener el mismo formato de salida utilizando las opciones de UNIX se requiere la opción

ps -o "user,pid,pcpu,pmem,vsz,rss,tty,stat,bsdstart,bsdtime,args"

Las explicaciones de los argumentos de esta opción ‘-o’ son:

  • user – el nombre de usuario o nombre de usuario efectivo del proceso
  • pid – el id del proceso
  • pcpu – el tiempo cpu usado por el proceso dividido por el tiempo que el proceso ha estado ejecutándose
  • pmem – el porcentaje de la memoria física usada por el proceso
  • vsz – el tamaño de la memoria virtual del proceso
  • rss – la memoria física no intercambiada que el proceso ha usado
  • tty – la terminal de control del proceso
  • stat – el estado del proceso, determinado usando códigos de estado del proceso (lea las páginas de manual para más información)
  • start_time – la hora de inicio del comando
  • time – el tiempo cpu acumulativo utilizado por el proceso
  • args – el comando utilizado para ejecutar el proceso, junto con sus argumentos. (Esta es una de las razones por las que nunca es una buena idea ejecutar un comando e introducir la contraseña como argumento de línea de comandos. Cualquier otro usuario en el sistema puede ejecutar ps y ver los comandos que tiene en ejecución, junto con todas las opciones y argumentos pasados).

La convención que se utilizará a partir de ahora será el comando (ps) seguido de la opción BSD ‘u’ para especificar el formato de salida, y luego las opciones UNIX y GNU según sea necesario.

Algunas opciones de’PS’

Ejecutar ‘ps’ sin argumentos muestra una lista de procesos con el mismo ID de usuario que el invocador y asociados con el mismo terminal que el invocador.

Para mostrar todos los procesos en ejecución:

ps u -e

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Para mostrar todos los procesos del usuario actual:

ps u -u `whoami`

Para mostrar todos los procesos por el usuario actual, pero ordenados por uso de cpu (descendente).

NOTA: en el comando de abajo, usamos ‘-pcpu’ para lograr un porcentaje de uso de cpu descendente. Para ascender, usa’+pcpu’ o sólo’pcpu’. Consulte las páginas de manual para obtener información adicional sobre los especificadores de clasificación. Algunos de los más comunes son pmem (uso de memoria), start_time (tiempo de ejecución del comando), y time (cantidad de tiempo cpu usado por el comando).

ps u -u `whoami` --sort=-pcpu

Para mostrar todos los procesos del usuario actual, en formato de árbol:

ps u -jH -u `whoami`

>

Compruebe los procesos en ejecución como un usuario avanzado

Usando tuberías, ps puede combinarse con head para mostrar los procesos más importantes. El siguiente comando ordena primero por el uso de la memoria, luego pasa por el cabezal para mostrar los procesos que utilizan la mayor cantidad de memoria. Head muestra las primeras diez líneas por defecto, por lo que este comando mostrará los nueve procesos principales (La cabecera de salida es la primera línea).

Nota: «%mem» y «pmem» son sinónimos, al igual que «%cpu» y «pcpu».

ps u -u `whoami` --sort=-%mem | head

Compruebe los procesos en ejecución como un usuario avanzado

Para mostrar lo mismo para todos los procesos, independientemente del usuario, utilice la opción -e:

ps u -e --sort=-%mem | head

Conclusión

Hay literalmente cientos de opciones (aunque algunas son alias), y nos encantaría conocer y ver sus métodos de uso favoritos. Por favor, comparta los comentarios a continuación.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *