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
}
Perintah Untuk Memaksa Ungrab Pointer (Lepaskan Mouse yang ditangkap)?
Hubungan Inode, Lba, Volume Logika, Blok, dan Sektor?