Capítulo 24. Procesos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

24.0 Introducción

Trabajar en con los procesos del sistema es un aspecto natural de la administración de sistemas. También es la fuente de la mayor parte de la magia de las expresiones regulares que enorgullecen a los administradores de sistemas. Al fin y al cabo, ¿quién no presumiría de esta frase de Unix para detener todos los procesos que utilicen más de 100 MB de memoria?

ps -el | awk '{ if ( $6 > (1024*100)) { print $3 } }' | grep -v PID | xargs kill

Aunque es útil, también demuestra la naturaleza intrínsecamente frágil del procesamiento de texto puro. Para que este comando tenga éxito, debe

  • Depende del comando ps para mostrar el uso de memoria en la columna 6

  • Depende de la columna 6 de la salida del comando ps para representar el uso de memoria en kilobytes

  • Depende de la columna 3 de la salida del comando ps para representar el ID del proceso

  • Elimina la columna de cabecera de la salida del comando ps

Aunque el comando ps tiene parámetros que simplifican parte de este trabajo, esta forma de "análisis sintáctico basado en la oración" es habitual cuando se manipula la salida de herramientas que sólo producen texto.

Dado que el cmdlet Get-Process de PowerShell devuelve la información como objetos .NET altamente estructurados, el frágil análisis sintáctico del texto se convierte en cosa del pasado:

Get-Process | Where-Object 

Get Libro de cocina PowerShell, 4ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.