GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier la progression de l'exécution de Cp ?

Est-il possible de vérifier la progression de l'exécution du processus cp ? Certains processus répondent à divers signaux KILL afin que vous puissiez vérifier quel est leur statut. Je sais que je peux exécuter cp avec le paramètre -v mais que se passe-t-il si j'ai oublié de le faire, cp fonctionne depuis très longtemps et je veux savoir quel fichier est copié, ou combien ont déjà été copiés.

Réponse acceptée :

Oui, en exécutant stat sur le fichier cible et le fichier local, et obtenir une taille de fichier,

c'est-à-dire stat -c "%s" /bin/ls

Et vous obtenez le pourcentage de données copiées en comparant les deux valeurs, c'est tout

Dans une implémentation très basique qui ressemblera à ceci :

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. Comment vérifier syslog dans Bash sous Linux ?

  2. Comment vérifier si sed a modifié un fichier

  3. Comment vérifier si les démons Hadoop sont en cours d'exécution ?

  4. Comment vérifier si un service particulier est en cours d'exécution sur Ubuntu

  5. Comment vérifier si ssh-agent est déjà en cours d'exécution dans bash ?

Comment vérifier si un fichier ou un répertoire existe dans Bash

Comment vérifier tous les services en cours d'exécution sous Linux

Comment vérifier/réparer le système de fichiers Linux au démarrage

Comment vérifier et réparer un système de fichiers dans RHEL Linux

Comment vérifier si un fichier ou un répertoire existe dans Bash Shell

Comment vérifier la syntaxe d'un script Bash sans l'exécuter ?