4 ms·
> Tiger’s dd doesn’t have status=progress Maybe sending it SIGINFO (^T in terminal) could help? Dunno if it's supported as far back as Tiger's. (BSD thing, it
by lloeki 3y ago
> Tiger’s dd doesn’t have status=progress
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)
- i386 3y agoI believe it was!
- thesuitonym 3y agoI need to commit this to memory, I often forget to send stats=progress to dd. Thanks for the tip!
- boredzo 3y agoI 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 ```
- lloeki 3y ago> 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.