완료되면 dd
읽고 쓴 세그먼트 수, 총 크기 및 평균 쓰기 속도에 대한 3줄 요약이 인쇄됩니다. 작동할 때는 dd
매우 조용합니다.
얼마 전에 (죄송합니다) dd
세 줄 요약을 인쇄할 수 있다는 것을 알았습니다.아직 작동하는 동안SIGUSR1
내가 이것을 한 이후로 .
dd <magic incantation> &
watch kill -USR1 $!
문제는 요약의 세 줄이 dd
왼쪽 정렬되지 않는다는 것입니다. 각 후속 행은 이전 행이 끝난 열에서 시작됩니다. 따라서 줄 바꿈 dd
은 인쇄되지만 캐리지 리턴은 인쇄되지 않으며 watch
출력을 인쇄하는 데 사용되는 모든 항목에는 캐리지 리턴이 필요합니다.
kill 명령 후에 다양한 유형의 참조를 추가해 보았지만 | sed -e '<expression>'
얻은 출력은 전혀 변경되지 않았습니다.
dd
이런 상황에서 어떻게 하면 예쁜 인쇄물을 얻을 수 있나요?
답변1
kill -USR1
어디에 있는지 알 필요가 없습니다 dd
. 당신은 그것을 사용할 수 있습니다lsof
입력 파일 설명자의 위치를 표시합니다. 구문 분석 가능한 출력을 얻는 것은 약간 난해하지만 작동합니다. 이는 0
입력 파일 설명자입니다. 표준 입력에서 읽지 않고 if=…
인수를 전달하는 경우 dd
구현에 따라 dd
다른 설명자에서 읽을 수 있습니다 .
lsof -a -o -p $! -d 0 -F o | sed -n 's/^o[0-9]*t//p'
Linux에서는 이 정보를 에서 직접 얻을 수 있습니다 /proc
.
</proc/$!/fdinfo/0 awk '$1 == "pos:" {print $2}'
cat
대신에 다음 을 사용하고 싶을 수도 있습니다 dd
:일반적으로 더 빠릅니다그리고오류가 발생할 가능성이 적습니다..
답변2
Ubuntu 20.04 터미널에서도 동일한 문제가 발생합니다. 그러나 RXVT에서 부팅하면 디스플레이가 작동합니다.
sudo su - # From the default Ubuntu terminal
dd if=... &
rxvt
watch -n 0.5 kill -USR1 <process number of the dd>
(근데 왜인지는 모르겠습니다.)