I believe it was!
Re:I upgraded my iBook G4 to have an SSD
by thesuitonym on Monday April 01, 2024 @09:34AM
(#39894024)
I need to commit this to memory, I often forget to send stats=progress to dd. Thanks for the tip!
I think it is, but it does print an overall speed estimate at the end anyway. It's just not as conveniently formatted as `status=progress`, which gives you MB/sec (or GB/sec if appropriate), so you gotta do math to it.
Here's what the output at the end or from SIGINFO looks like (this is running on my Mac mini and copying from /dev/zero to /dev/null):
``` 148908277760 bytes transferred in 6.917856 secs (21525206330 bytes/sec) ```
If I add `status=progress`, then it _also_ prints this every second:
``` 150617456640 bytes (151 GB, 140 GiB) transferred 7.001s, 22 GB/s ```
> but it does print an overall speed estimate at the end anyway
Oh yeah, my point is that if there's no `status=progress` support or if someone forgot to add it then in-flight progress and speed can be displayed in a pinch, and that feature is not well known.
"Every second" is a `while sleep 1` + `kill -INFO` loop away.
A typical full output of it is:
load: 2.91 cmd: dd 82396 running 0.02u 2.03s
87770+0 records in
87770+0 records out
92033515520 bytes transferred in 2.149378 secs (42818673830 bytes/sec)
So if one uses `bs=1m` (which I frequently do, but always forget about status=progress) then records in/out will be in MiB.
Maybe sending it SIGINFO (^T in terminal) could help? Dunno if it's supported as far back as Tiger's.
(BSD thing, it's SIGUSR1 on GNU dd / Linux, the usability difference is that on darwin the terminal can conveniently send SIGINFO via ^T)