ddがまだ機能しているかどうかはどうすればわかりますか?

ddがまだ機能しているかどうかはどうすればわかりますか?

私はそれをあまり使用しませんでしたが、dd今まで私を失望させませんでした。これでこの作業にdd12時間以上かかりました。画像を元のディスクに書き換えています。dd約7時間でこれを行うことができたので少し心配です。

私は、Core 2 Duo、2.1ghz/コア、4GB RAMを搭載したMacBookでOSX 10.6.6を実行しています。 7200rpmハードドライブ(ブートドライブ)の.dmgからデータを読み取り、SATA-USBコネクタを介して接続されている7200rpmドライブに書き込みます。ブロックサイズをデフォルト値のままにしました。画像は約160GBです。

編集:そして14時間純粋なストレスを受けた後も、結果はddまだ完璧でした。次回はそれを実行してpvトレースを使用しますstrace。みんなの助けに感謝します。

答え1

あなたは送ることができますdd信号はkillコマンドを使用して現在の状態を出力します。この信号はINFOBSDシステム(OSXを含む)とUSR1Linuxで利用可能です。あなたの場合:

kill -INFO $PID

次のコマンドを使用してプロセスID($PID上記)を見つけることができますpsMac OS Xのpgrepとpkillの代替より便利な方法のために。

簡単に言えば、アントゥアンGで指摘する彼の答えctrl-T、実行中のシェルに信号を入力してddに信号を送信できますINFO

Linux の例としては、dd次のようなすべてのアクティブなプロセス出力状態を持つことができます。

pkill -USR1 -x dd

ステータスを出力した後、dd応答は続行されます。

答え2

OS Xでは、(Linuxでは試していません)Ctrl実行中の端末に+を入力します。 CPU使用率と同じ出力を印刷します。Tddkill -INFO $PID

load: 1.40  cmd: dd 34536 uninterruptible 3.49u 64.58s
5020305+0 records in
5020304+0 records out
2570395648 bytes transferred in 4284.349974 secs (599950 bytes/sec)

私はこのスレッドを読み、私の端末で新しいタブを開こうとしましたが、+TCtrl+が混在していることがわかりましたT

答え3

の場合、dd次のことができます。信号を送る。ファイルを読み書きする他のコマンドの場合は、次を使用してファイルの場所を確認できます。lsof

lsof -o -p1234    # where 1234 is the process ID of the command
lsof -o /path/to/file

事前に計画している場合は、データをパイプしてくださいpv

答え4

coreutilsv8.24以降、dd進行状況表示はデフォルトでサポートされています。オプションを追加するだけですstatus=progress

例:

dd if=arch.iso of=/dev/sdb bs=4M status=progress

源泉

関連情報