GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie überprüfe ich den Fortschritt des Laufens von Cp?

Ist es möglich, den Fortschritt des laufenden cp-Prozesses zu überprüfen? Einige Prozesse reagieren auf verschiedene KILL-Signale, sodass Sie ihren Status überprüfen können. Ich weiß, dass ich cp mit dem Parameter -v ausführen kann, aber was ist, wenn ich das vergessen habe, cp läuft sehr lange und ich möchte wissen, welche Datei kopiert wird oder wie viele bereits kopiert wurden.

Akzeptierte Antwort:

Ja, indem Sie stat auf die Zieldatei und die lokale Datei ausführen und eine Dateigröße abrufen,

d.h. stat -c "%s" /bin/ls

Und Sie erhalten den Prozentsatz der kopierten Daten, indem Sie die beiden Werte vergleichen, das war's

In einer sehr einfachen Implementierung sieht das so aus:

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. Wie überprüfe ich Syslog in Bash unter Linux?

  2. So überprüfen Sie, ob sed eine Datei geändert hat

  3. Wie überprüfe ich, ob Hadoop-Daemons ausgeführt werden?

  4. So überprüfen Sie, ob ein bestimmter Dienst unter Ubuntu ausgeführt wird

  5. Wie überprüfe ich, ob ssh-agent bereits in bash läuft?

So überprüfen Sie, ob eine Datei oder ein Verzeichnis in Bash vorhanden ist

So überprüfen Sie alle laufenden Dienste in Linux

So überprüfen/reparieren Sie das Linux-Dateisystem beim Booten

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So überprüfen Sie, ob eine Datei oder ein Verzeichnis in der Bash-Shell vorhanden ist

Wie überprüfe ich die Syntax eines Bash-Skripts, ohne es auszuführen?