Beaglebone의 다른 루트 인스턴스에서 실행 중인 프로세스를 보는 방법

Beaglebone의 다른 루트 인스턴스에서 실행 중인 프로세스를 보는 방법

BeagleBone Black에 연결된 SD 카드에 Raspbian Linux 이미지를 설치하고 있습니다. 나중에 내 Raspberry Pi에서 이것을 사용할 것입니다.

이를 위해 MacBook Pro에서 (ssh를 통해) dd 명령을 사용합니다.

dd if=/Users/user/Downloads/2014-09-09-wheezy-raspbian.img | ssh [email protected] "dd of=/dev/mmcblk0"

처음에는 명령을 실행하면 다음과 같이 작동하는 것처럼 보였습니다.

Debian GNU/Linux 7

BeagleBoard.org BeagleBone Debian Image 2014-04-23

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

그동안 다른 터미널 창을 통해 비글본으로 SSH를 통해 접속하고 다시 루트로 로그인할 수 있습니다 ssh 192.168.7.2 -l root. 이제 dd 명령을 통해 .img 파일이 /dev/mmcblk0에 복사되는 것을 어떻게 모니터링할 수 있습니까?

불행하게도 SD 카드가 가득 차 있는 것 같지 않습니다(/dev/mmcblk0p1은 5분 이상 후에 15K를 사용합니다).

root@beaglebone:/dev# df -ah
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  3.4G  1.5G  1.9G  44% /
sysfs                                                      0     0     0    - /sys
proc                                                       0     0     0    - /proc
udev                                                     10M     0   10M   0% /dev
devpts                                                     0     0     0    - /dev/pts
tmpfs                                                   100M  624K   99M   1% /run
/dev/disk/by-uuid/88d655b6-c63d-4922-9b0e-340b5ece0b8c  3.4G  1.5G  1.9G  44% /
tmpfs                                                   249M     0  249M   0% /dev/shm
tmpfs                                                   249M     0  249M   0% /sys/fs/cgroup
cgroup                                                     0     0     0    - /sys/fs/cgroup/systemd
cgroup                                                     0     0     0    - /sys/fs/cgroup/cpu,cpuacct
cgroup                                                     0     0     0    - /sys/fs/cgroup/memory
cgroup                                                     0     0     0    - /sys/fs/cgroup/blkio
systemd-1                                                  0     0     0    - /proc/sys/fs/binfmt_misc
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
debugfs                                                    0     0     0    - /sys/kernel/debug
tmpfs                                                   100M     0  100M   0% /run/user
mqueue                                                     0     0     0    - /dev/mqueue
securityfs                                                 0     0     0    - /sys/kernel/security
fusectl                                                    0     0     0    - /sys/fs/fuse/connections
/dev/mmcblk1p1                                           96M   74M   23M  77% /boot/uboot
binfmt_misc                                                0     0     0    - /proc/sys/fs/binfmt_misc
/dev/mmcblk0p1                                           15G   32K   15G   1% /media/6461-6136
root@beaglebone:/dev# 

답변1

답을 찾으신 것 같습니다. 하지만 기억하기 더 쉬운 또 다른 사실은

killall -USR1 dd

(이것은 모든 dd 프로세스에 신호를 보냅니다. 일반적으로 하나만 보냅니다.)

기존 "dd" 명령에 신호를 보내고 dd에는 해당 신호를 받으면 진행 상황을 stderr에 덤프하는 기능이 있기 때문에 원래 창에 출력이 표시됩니다.

또한 현재 마운트된 파티션을 덮어쓰는 것처럼 보인다는 점을 지적하고 싶습니다. 이것은 매우 나쁜 일이며 이와 같이 파일 시스템을 손상시킬 수 있습니다. 덮어쓰기 전에 파티션을 마운트 해제해야 합니다.

또한 때로는 더 큰 블록 크기를 제공하여 dd 속도를 높일 수 있습니다(ssh가 파일에서 직접 가져오도록 함). 예를 들어, 명령을 다음으로 변경하십시오.

ssh [email protected] "dd of=/dev/mmcblk0 bs=1M" < /Users/user/Downloads/2014-09-09-wheezy-raspbian.img

답변2

이 명령은 마침내 작동하여 내 비글본에서 루트로 실행되었습니다.

pkill -USR1 -n -x dd

명령을 계속해서 실행할 수 있고 업데이트됩니다(전송 속도가 느림).

흥미롭게도 업데이트는 다음에 나타납니다.다른터미널 창(즉, dd 명령이 실행되는 창):

Debian GNU/Linux 7

BeagleBoard.org BeagleBone Debian Image 2014-04-23

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
39136+0 records in
39136+0 records out
20037632 bytes (20 MB) copied, 5.6016 s, 3.6 MB/s
89376+0 records in
89376+0 records out
45760512 bytes (46 MB) copied, 12.3178 s, 3.7 MB/s
205152+0 records in
205152+0 records out
105037824 bytes (105 MB) copied, 27.7496 s, 3.8 MB/s
296608+0 records in
296608+0 records out
151863296 bytes (152 MB) copied, 40.7469 s, 3.7 MB/s
361184+0 records in
361184+0 records out
184926208 bytes (185 MB) copied, 49.3917 s, 3.7 MB/s
432672+0 records in
432672+0 records out
221528064 bytes (222 MB) copied, 58.9498 s, 3.8 MB/s
648529+0 records in
648529+0 records out
332046848 bytes (332 MB) copied, 88.3797 s, 3.8 MB/s
702289+0 records in
702289+0 records out
359571968 bytes (360 MB) copied, 103.606 s, 3.5 MB/s
987329+0 records in
987329+0 records out
505512448 bytes (506 MB) copied, 194.866 s, 2.6 MB/s
991001+0 records in
991001+0 records out
507392512 bytes (507 MB) copied, 197.19 s, 2.6 MB/s

답변3

진행 중인 파일 전송을 모니터링하는 데 사용하는 도구(예: RetroPie에서 sd카드에서 USB 드라이브로의 ROM 복사본을 추적한 적이 있음)는 progress.

"현재 시스템에서 실행 중인 기본 명령 ( , , , / coreutils, cpmv) ddtar찾아 복사 된 데이터의 백분율을 표시하는 작고 더러운 Linux 및 OSX 전용 C 명령입니다."gzipgunzipcatrsync

sudo apt install progress( ) 을 설치한 다음 를 사용해야 할 수도 있습니다 sudo.

-m모니터링하고 업데이트하려면 명령을 추가하는 것이 좋습니다 .

sudo progress -m

관련 정보