GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo verificar el progreso de la ejecución de Cp?

¿Es posible verificar el progreso de la ejecución del proceso cp? Algunos procesos responden a varias señales KILL para que puedas comprobar cuál es su estado. Sé que puedo ejecutar cp con el parámetro -v, pero ¿qué pasa si olvidé hacerlo? cp se está ejecutando durante mucho tiempo y quiero saber qué archivo se está copiando o cuántos ya se copiaron.

Respuesta aceptada:

Sí, al ejecutar stat en el archivo de destino y el archivo local y obtener un tamaño de archivo,

es decir, stat -c "%s" /bin/ls

Y obtienes el porcentaje de datos copiados comparando los dos valores, eso es todo

En una implementación muy básica que se verá así:

function cpstat()
{
  local pid="${1:-$(pgrep -xn cp)}" src dst
  [[ "$pid" ]] || return
  while [[ -f "/proc/$pid/fd/3" ]]; do
    read src dst < <(stat -L --printf '%s ' "/proc/$pid/fd/"{3,4})
    (( src )) || break
    printf 'cp %d%%r' $((dst*100/src))
    sleep 1
  done
  echo
}

Linux
  1. ¿Cómo verificar syslog en Bash en Linux?

  2. ¿Cómo verificar si un archivo está vacío en Bash?

  3. ¿Cómo verificar si los demonios de Hadoop se están ejecutando?

  4. Cómo verificar si un servicio en particular se está ejecutando en Ubuntu

  5. ¿Cómo verificar si ssh-agent ya se está ejecutando en bash?

Cómo verificar si existe un archivo o directorio en Bash

Cómo verificar todos los servicios en ejecución en Linux

Cómo verificar/reparar el sistema de archivos de Linux en el arranque

Cómo comprobar y reparar un sistema de archivos en RHEL Linux

Cómo verificar si existe un archivo o directorio en Bash Shell

¿Cómo verifico la sintaxis de un script Bash sin ejecutarlo?