BeagleBoneのsdカードにディスクイメージをネットワーク転送するためにdd
を使用しています。
このBeagleBoneへのssh接続でpkill -USR1 -n -x dd
を使用すると、転送プロセスのステータスが更新されます。これは素晴らしいことです。それが実際にどのように機能するか知りたいので、将来的にそれを効果的に使用できます。
man pkill
を読んでも、pkill -USR1 -n -x dd
がこの非常に便利なステータス更新を提供するためにどのように機能しているかはまだ完全には説明されていません。
これはdd
に固有の動作です。 dd
manページから:
実行中の「dd」プロセスにUSR1シグナルを送信すると、I/O統計が標準エラーに出力され、コピーが再開されます。
$ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
-USR1
はpkill
にUSR1
シグナル。 -n
および-x
は、適切なプロセス(-n
は最新のプロセスに送信し、-x
は、プロセスに正確な名前を付ける必要があることを意味しますdd
)