GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Memeriksa Kemajuan Running Cp?

Apakah mungkin untuk memeriksa kemajuan proses cp yang sedang berjalan? Beberapa proses merespons berbagai sinyal KILL sehingga Anda dapat memeriksa statusnya. Saya tahu bahwa saya dapat menjalankan cp dengan parameter -v tetapi bagaimana jika lupa melakukannya, cp berjalan untuk waktu yang sangat lama dan saya ingin tahu file mana yang sedang disalin, atau berapa banyak yang sudah disalin.

Jawaban yang Diterima:

Ya, dengan menjalankan stat pada file target dan file lokal, dan mendapatkan ukuran file,

yaitu stat -c "%s" /bin/ls

Dan Anda mendapatkan persentase data yang disalin dengan membandingkan dua nilai, itu saja

Dalam implementasi yang sangat mendasar akan terlihat seperti ini:

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. Cara Memeriksa Versi Postgres Yang Sedang Berjalan/Diinstal

  2. Bagaimana cara memeriksa sintaks sudoers

  3. Cara Memeriksa apakah Telnet Berjalan di Server

  1. Bagaimana cara memeriksa apakah daemon Hadoop sedang berjalan?

  2. Cara memeriksa apakah layanan tertentu berjalan di Ubuntu

  3. Bagaimana cara memeriksa apakah ssh-agent sudah berjalan di bash?

  1. Bagaimana cara memeriksa syslog di Bash di Linux?

  2. Bagaimana cara memeriksa apakah suatu file kosong di Bash?

  3. Cara memeriksa apakah sed telah mengubah file