¿Su sistema Linux funciona con lentitud? ¿O simplemente tiene curiosidad por saber qué ocurre bajo el capó? Existe un eficaz programa integrado llamado «ps» que permite a los usuarios ver una imagen de los procesos que se ejecutan en un sistema. Discutiremos algunas de las opciones disponibles para ps, y en conclusión, usted debería ser capaz de inspeccionar los procedimientos en ejecución en su computadora linux como un geek conocedor.

Introducción

Muchas variaciones de ps aceptan opciones de estilo BSD (que pueden ser agrupadas y NO DEBEN ser usadas con un guión), alternativas de estilo UNIX (que pueden ser agrupadas y DEBEN ser usadas con un guión), y opciones largas GNU (que son precedidas por dos guiones). Para este post, mezclaremos y usaremos varios tipos de elección, con una inclinación por los diseños UNIX. Por ejemplo

ps-u root u– sort=pid
  • DISEÑO UNIX -u root especifica usuario = root
  • BSD DESIGN u define pantalla de formato orientado al usuario. Esta es una de las opciones favoritas, ya que el formato de salida que se produce al usarlo incluye algunos detalles muy beneficiosos.
  • GNU LONG CHOICE– sort define el orden de clasificación de los procesos. En este caso, ordenar por el id del procedimiento (pid)

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

ps u

Muestra los procesos del usuario actual que están adjuntos a la Terminal.

muestra los procedimientos del usuario actual que están conectados a una terminal, con un formato de salida «orientado al usuario». Para obtener exactamente el mismo formato de salida utilizando opciones UNIX se necesita la alternativa

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

Las explicaciones de los argumentos de esta alternativa ‘-o’ son

  • user– el userid o nombre de usuario eficiente del proceso
  • pid– el id del proceso
  • pcpu– el tiempo de cpu utilizado por el procedimiento dividido por el tiempo que el procedimiento ha estado funcionando
  • pmem– la parte de la memoria física utilizada por el procedimiento
  • vsz– el tamaño de la memoria virtual del proceso
  • rss– la memoria física no intercambiada que el proceso ha utilizado
  • tty– la terminal de control del proceso
  • stat– el estado del proceso, identificado mediante los códigos de estado del procedimiento (consulte las páginas masculinas para obtener más información)
  • start_time– la hora de inicio del comando
  • time– el tiempo de cpu acumulado 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 un excelente concepto ejecutar un comando e introducir tu contraseña como argumento en la línea de comandos. Cualquier otro usuario en el sistema puede ejecutar ps y ver los comandos que usted está ejecutando, además de todas las alternativas y argumentos pasados).

La convención utilizada de ahora en adelante será el comando (ps) seguido por la opción ‘u’ de BSD para definir el formato de salida, y después las alternativas UNIX y GNU según sea necesario.

Algunas opciones de ‘PS’

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

Para revelar todos los procedimientos en ejecución

ps u -e

Para mostrar todos los procedimientos por el usuario existente

ps u -u’whoami’

Para revelar todos los procesos por el usuario existente, sin embargo ordenados por uso de cpu (viniendo hacia abajo).

NOTA: en el comando que aparece a continuación, utilizamos ‘-pcpu’ para lograr el porcentaje de uso de cpu descendente. Para subir, utilice ‘+pcpu’ o simplemente ‘pcpu’. Consulte las páginas del manual para conocer otros especificadores de ordenación. Algunos típicos son pmem (uso de memoria), start_time (hora en que se ejecutó el comando) y time (cantidad de tiempo de cpu utilizado por el comando).

ps u -u ‘whoami ‘– sort=-pcpu

Para revelar todos los procesos por el usuario existente, en un formato de árbol:

ps u -jH-u ‘whoami ‘[ #Z]

Utilizando tuberías, ps puede integrarse con head para revelar los procesos principales. El siguiente comando ordena por el uso de la memoria inicialmente, y luego canaliza a través de head para revelar los procedimientos que utilizan la mayor cantidad de memoria. Head muestra las primeras 10 líneas por defecto, por lo que este comando revelaría los nueve procedimientos principales (la cabecera de salida es la primera línea).

Téngalo en cuenta: «%mem» y «pmem» son sinónimos, al igual que «%cpu» y «pcpu».

ps u -u ‘whoami ‘– sort=-%mem|head

Muestra todos los procesos por usuario actual en formato de árbol.

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

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

Conclusión

Hay literalmente numerosas alternativas (aunque algunas son alias), y nos encantaría conocer y ver sus enfoques de uso preferidos. Por favor, comparte en los comentarios de abajo.

¿Es útil este breve artículo? SíNoObaro OgboSiempre

en busca de enfoques más simples de la fijación de los problemas intrincados, en particular el uso de sistemas informáticos. Obsesionado con cualquier aplicación de software asociada (lenguajes, sistemas operativos, frameworks, etc).