Cómo guardar la salida del comando superior a un archivo


El comando superior de Linux es muy utilizado por los administradores del sistema para mostrar las estadísticas del sistema en tiempo real con respecto a tiempo de actividad del sistema y carga promedio , memoria utilizada , tareas en ejecución , un resumen de procesos o subprocesos e información detallada sobre cada proceso en ejecución.

Sin embargo, además de la visualización en tiempo real del sistema en ejecución, la salida del comando superior se puede guardar en un archivo, mediante el uso del indicador -b , que le indica a Top que opere en modo batch y -n flag para especificar la cantidad de iteración que debe emitir el comando.

En el ejemplo siguiente, redirigiremos la salida del comando top a top.txt en el directorio de trabajo actual. El argumento -n se utilizará para enviar solo una instantánea del comando al archivo mencionado.

$ top -b -n 1 > top.txt

Para leer el archivo resultante, use una utilidad de lector de archivos de línea de comandos, como el comando cat, menos o más.

$ less top.txt

Para capturar cinco iteraciones del comando superior , ejecute el comando como se muestra en el extracto a continuación.

$ top -b -n 5 > top-5iterations.txt

Para mostrar solo el número de tareas en ejecución del archivo resultante, use el filtro grep, como se muestra en el siguiente ejemplo de comando.

$ cat top-5iterations.txt | grep Tasks

Para tomar una instantánea de un proceso específico en utilidad principal , ejecute el comando con la marca PID (-p) . Para obtener el PID de un proceso en ejecución, emita comando pidof con el nombre del proceso en ejecución.

En este ejemplo, supervisaremos el proceso cron a través de comando superior tomando tres instantáneas del PID.

$ pidof crond
$ top -p 678 -b -n3 > cron.txt
$ cat cron.txt

Usando un ciclo de iteración para , podemos mostrar las estadísticas de un proceso a través de su PID, cada dos segundos, como se muestra en el siguiente ejemplo. La salida del bucle también se puede redirigir a un archivo. Usaremos el mismo PID cron como se muestra en el ejemplo anterior.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Redirigir la salida del bucle al archivo.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
$ cat cron.txt

Estos son solo algunos ejemplos de cómo puede monitorear y recopilar estadísticas del sistema y del proceso mediante comando superior .