web-dev-qa-db-ja.com

コマンドpkill -USR1 -n -x ddは正確にはどういう意味ですか?

BeagleBoneのsdカードにディスクイメージをネットワーク転送するためにddを使用しています。

このBeagleBoneへのssh接続でpkill -USR1 -n -x ddを使用すると、転送プロセスのステータスが更新されます。これは素晴らしいことです。それが実際にどのように機能するか知りたいので、将来的にそれを効果的に使用できます。

man pkillを読んでも、pkill -USR1 -n -x ddがこの非常に便利なステータス更新を提供するためにどのように機能しているかはまだ完全には説明されていません。

12
user391339

これは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

-USR1pkillUSR1シグナル。 -nおよび-xは、適切なプロセス(-nは最新のプロセスに送信し、-xは、プロセスに正確な名前を付ける必要があることを意味しますdd

15
Michael Mrozek