小编aba*_*cox的帖子

在没有 USR1 的情况下检查 dd 的进度吗?

我使用的是busybox 1.27纯 Linux 系统,因此没有output=progress可用的,没有 busybox 自己的实现,也没有pv它本身。pipe_progresspv

我有两个问题。第一个基于https://www.linux.com/training-tutorials/show-progress-when-using-dd/。它表示,通过向其发送USR1信号dd会“暂停”该过程,并且dd在打印后其当前状态将继续其正在执行的工作。我正在尝试进行一些基准测试,dd因此我希望对dd操作的影响最小。我希望每秒获得当前操作的输出,因为传递的数据dd是波动的,识别传输速率何时下降对我来说很重要。

第一个问题: “dd”每次收到USR1信号时都会“暂停”,这是真的吗?

如果dd每秒暂停一次,那么当传输数十千兆字节时,我将增加操作时间。

第二个问题: 假设第一个问题的答案是“是”,我想知道是否可以在dd不向进程发送任何信号的情况下打印其当前状态,也许是某种重定向STDOUT(如 2>&1)?

我指的是:

# bs with 1Mib so I can have more control on the test.
dd if=/dev/zero of=/dev/null bs=1048576 count=1024

# Printing current operation status.
sudo kill -USR1 $dd_pid 
Run Code Online (Sandbox Code Playgroud)

linux dd busybox

8
推荐指数
2
解决办法
2000
查看次数

标签 统计

busybox ×1

dd ×1

linux ×1