GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat průběh běhu Cp?

Je možné zkontrolovat průběh běhu cp procesu? Některé procesy reagují na různé signály KILL, takže můžete zkontrolovat, jaký je jejich stav. Vím, že mohu spustit cp s parametrem -v, ale co když to zapomenu udělat, cp běží velmi dlouho a já chci vědět, který soubor se kopíruje nebo kolik jich již bylo zkopírováno.

Přijatá odpověď:

Ano, spuštěním statistik pro cílový soubor a místní soubor a získání velikosti souboru

tj. stat -c "%s" /bin/ls

A procento dat zkopírovaných získáte porovnáním těchto dvou hodnot, to je vše

Ve velmi základní implementaci, která bude vypadat takto:

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. Jak zkontrolovat, zda sed změnil soubor

  2. Jak zkontrolovat, zda běží démoni Hadoop?

  3. Jak zkontrolovat, zda konkrétní služba běží na Ubuntu

  1. Jak zkontrolovat syntaxi sudoers

  2. Jak zkontrolovat, zda ssh-agent již běží v bash?

  3. Jak mohu použít sudo ke kontrole, zda soubor existuje?

  1. Jak zkontrolovat, která verze Postgresu je spuštěná/nainstalovaná

  2. Jak zkontrolovat, zda Telnet běží na serveru

  3. Jak zkontrolovat syslog v Bash na Linuxu?