저는 4.10.0-38-lowlatency 커널과 KDE5 데스크탑을 갖춘 Linux Mint 18/2를 실행하고 있습니다.
나는 많은 수의 USB 플래시 드라이브를 테스트하기 위해 사용자 정의 bash 스크립트를 사용하고 있는데 f3
오늘 이상한 상황에 직면했습니다. 드라이브가 머신에서 물리적으로 연결이 끊어져도 /dev/에서 사라지지 않습니다.
sync
또한 모든 명령이 완전히 중단되고 sudo pkill -9 sync
도움이 되지 않는다는 점도 확인했습니다 .
마침내 해냈 sudo rm /dev/sdd
지만 sync
여전히 영원히 멈춰있습니다.
오류가 시작된 이후 실행 중인 모든 동기화 프로세스는 시스템에 남아 있습니다. Htop은 항상 I/O를 수행하고 있다고 말합니다.
이런 일을 겪은 사람이 있나요? 컴퓨터를 다시 시작하지 않고 이 문제를 해결할 수 있나요?
답변1
삭제할 수 없으며 /dev/sdX file
대신 기기를 초기화해야 합니다. 루트 사용자로서:
echo "1" > /sys/block/sdX/device/delete
또는 sudo를 사용하여 실행하십시오.
sudo bash -c 'echo 1 > /sys/block/sdX/device/delete'
또는
echo 1 | sudo tee /sys/block/sdX/device/delete
답변2
의 항목은 /dev
단순히 장치 파일, 즉 응용 프로그램이 드라이버와 통신하는 게이트웨이입니다. 에서 항목을 생성하거나 삭제해도 /dev
장치 작동은 물론 드라이버 작동에 영향을 주지 않습니다. 드라이버는 이러한 항목을 인식하지도 못합니다.
프로세스는 D 상태에 머물면 안 됩니다. 그렇다면 커널 버그를 나타냅니다. 커널 오류는 하드웨어 오류로 인해 발생할 수 있습니다. 대부분의 드라이버는 하드웨어가 사소한 방식으로 오작동할 때 제대로 대처하지 못합니다. pkill -9
드라이버가 인터럽트 가능한 작업을 수행하고 있다고 결정하면 프로세스가 종료되지만 드라이버가 인터럽트 불가능한 코드에 갇히면 이 작업은 영원히 지속될 수 있습니다.
단서를 찾을 수 있는 곳은 시스템 로그에 있습니다. 오작동하는 드라이버나 이상한 현상(예: 갑자기 연결이 끊어지거나 잘못된 메시지를 보내는 장치 등)을 감지하는 일반 드라이버(예: USB 버스 드라이버)에서 단서가 있을 수 있습니다. dmesg
또는 journalctl -k
또는을 시도해 보세요 less /var/log/kern.log
(커널 로그가 포함된 파일을 보지 않는다면 Mint에서는 그렇게 부르는 것 같습니다).
/sys
항목을 통해 장치를 강제로 연결 해제해 보세요.작동할 수 있습니다(문제가 무엇인지에 따라 다름).