GNU/Linux >> Linux の 問題 >  >> Linux

Cpの実行の進行状況を確認する方法は?

cpプロセスの実行の進行状況を確認することはできますか?一部のプロセスはさまざまなKILLシグナルに応答するため、それらのステータスを確認できます。パラメータ-vを指定してcpを実行できることはわかっていますが、それを忘れた場合、cpは非常に長時間実行されており、どのファイルがコピーされているか、またはすでにコピーされているファイルの数を知りたいのです。

承認された回答:

はい、ターゲットファイルとローカルファイルでstatを実行し、ファイルサイズを取得します。

つまり、stat -c "%s" /bin/ls

そして、2つの値を比較することで、コピーされたデータの割合を取得します。それだけです

次のような非常に基本的な実装の場合:

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. sed がファイルを変更したかどうかを確認する方法

  2. 特定のサービスが Ubuntu で実行されているかどうかを確認する方法

  3. ファイル内で \n を grep する方法

  1. 実行/インストールされているPostgresのバージョンを確認する方法

  2. sudoers構文を確認する方法

  3. 現在実行中のシェルが BusyBox かどうかを確認する方法

  1. Linux の Bash で syslog を確認するには?

  2. Bashでファイルが空かどうかを確認するには?

  3. Hadoop デーモンが実行されているかどうかを確認する方法は?