Cómo verificar el progreso de la ejecución de comandos en Linux

Cómo verificar el progreso de la ejecución de comandos en Linux

A veces, al copiar un archivo grande, como una película o una imagen del sistema operativo, el cp El comando tarda más de lo esperado en función de la carga de su sistema. Dado que no indica el progreso de la operación, se vuelve difícil entender qué está sucediendo exactamente.

En escenarios como estos, un comando como cv podría ser de gran ayuda, ya que no solo te permite saber el progreso de la operación, sino que también es capaz de mostrar el tiempo restante. En este artículo, discutiremos el comando junto con algunos ejemplos útiles.

Introducción

los cv command es una utilidad que busca específicamente coreutils comandos básicos, como cp, mv, dd, tar, cat, y más, actualmente en ejecución en su sistema y muestra su porcentaje de progreso. Aunque es específico de Linux, un Puerto MacOSX también está disponible.

Descargar e instalar

Para descargar e instalar el cv comando, diríjase a su Repositorio Github y descargue el paquete fuente (el nombre del archivo descargado en mi caso era «cv-master.zip»). Una vez hecho esto, extraiga los archivos usando el siguiente comando:

Ingrese al directorio «cv-master» y ejecute los siguientes comandos para compilar el paquete e instalar el binario:

Tenga en cuenta que el cv El comando depende de la biblioteca «ncurses», por lo que es posible que deba instalar los paquetes correspondientes, lo que se puede hacer ejecutando el siguiente comando:

sudo apt-get install ncurses-dev

Otro punto que vale la pena señalar es que después de la instalación, el binario entra en «/usr/local/bin», así que asegúrese de agregar la ruta al entorno de su sistema, de lo contrario, su shell no podrá encontrar el comando cuando ejecute eso. Una alternativa sería cambiar su directorio actual a “/usr/local/bin” y luego ejecutar el comando de la siguiente manera:

Uso

Aquí hay algunos ejemplos de cómo se puede usar este comando:

Nota: Todos los ejemplos presentados en este artículo se prueban en Ubuntu 14.04.

Un ejemplo básico

Desde el cv El comando muestra el progreso de otros comandos que se están ejecutando, tiene que haber un comando que se ejecute durante el tiempo suficiente para que el cv El comando podría mostrar cualquier cosa. Por ejemplo, traté de copiar un archivo enorme de mi pen-drive a mi caja de Linux, y como el cp se ejecutó el comando, inmediatamente cambié a otra pestaña de shell y ejecuté el siguiente comando:

El comando mostró el siguiente resultado:

cv-default-output-single-command

El primer campo en la salida es el PID del comando que se está monitoreando, seguido por el comando y el progreso en porcentaje y en números. Un punto que vale la pena señalar es que la primera línea en la salida del cv dominio (cat inactive/flushing/streaming/...) es el valor predeterminado: revisé el código y descubrí que la línea se imprime bajo ciertas condiciones, lo que aparentemente siempre se ve afectado (por ahora podemos ignorarlo).

Si se está ejecutando más de un comando, el cv El comando muestra el progreso relacionado con todos ellos. Por ejemplo, aquí está la salida con dos comandos ejecutándose:

cv-default-output-múltiples-comandos

Obtenga un rendimiento de E/S estimado y ETA

Si bien es útil conocer el progreso de un comando, es aún más conveniente conocer otra información como el tiempo restante o la hora estimada de llegada. Para esto, el cv comando ofrece la -w opción de línea de comando.

Por ejemplo, cuando se ejecutó el siguiente comando:

se mostró el siguiente resultado:

[ 9287] cp /media/himanshu/F58B-9AA9/casper-rw 10.3% (105.2 MiB / 1 GiB) 27.9 MiB/s eta 0:00:32

Los dos últimos campos de la salida, que representan el rendimiento de E/S estimado y el ETA, significan que la operación de copia avanza a una velocidad de 27,9 MB por segundo y tardará 32 segundos en completarse.

Bucle el comando

Mientras usa el cv comando, notará que muestra los detalles del progreso en ese instante y luego termina. Para asegurarse de que cv no finaliza hasta que finaliza el comando que se está supervisando, utilice el -m opción.

Esto asegurará que el cv bucles de comando mientras los procesos monitoreados aún se están ejecutando.

Conclusión

los cv El comando podría ser una ventaja para aquellos que se ocupan de la transferencia de archivos pesados ​​u otras operaciones que consumen mucho tiempo en la línea de comandos de Linux. No hace falta decir que, al ser de código abierto, puede cambiar la forma en que interactúa y funciona haciendo cambios en su base de código, que es bastante pequeña y fácil de entender.

Alguna vez has usado cv o cualquier otro comando similar? ¿Cómo fue tu experiencia? Comparta sus pensamientos en 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 *

Experto Geek - Tu Guía en Tendencias Tecnológicas