Você não deve excluir o /dev/sdX file
; em vez disso, você pode fazer isso:
echo "1" > /sys/block/sdX/device/delete
Ao fazer isso, seu processo pode desaparecer.
Estou executando o Linux Mint 18/2 com o kernel 4.10.0-38-lowlatency e o desktop KDE5.
Estou testando muita memória flash USB com um script bash personalizado e f3
e hoje tive uma situação estranha. Uma unidade não desapareceu de / dev / quando estava fisicamente desconectada da máquina.
Eu também notei que qualquer comando sync
será completamente desligado e até sudo pkill -9 sync
não ajuda.
Eu finalmente consegui sudo rm /dev/sdd
, mas sync
continuará pendente para sempre.
Todos os processos de sincronização que foram executados desde o início do erro permanecem no sistema. Htop diz que todos fazem I / O o tempo todo:
Alguém tinha algo assim? Posso consertar isso sem reiniciar a máquina?
Você não deve excluir o /dev/sdX file
; em vez disso, você pode fazer isso:
echo "1" > /sys/block/sdX/device/delete
Ao fazer isso, seu processo pode desaparecer.
A entrada em /dev
é apenas um arquivo de dispositivo, ou seja, um gateway através do qual os aplicativos conversam com o driver. Criar ou remover entradas em /dev
não tem impacto na operação do driver, muito menos na operação do dispositivo. O motorista nem está ciente dessas entradas.
Os processos não devem permanecer presos no estado D. Se o fizerem, isso indica um erro no kernel. O bug do kernel pode ser desencadeado por um mau funcionamento do hardware: a maioria dos drivers não funciona bem quando o hardware se comporta mal de maneiras não triviais. pkill -9
irá matar o processo assim que o driver decidir que está fazendo algo que possa ser interrompido, mas se o driver estiver preso em um código ininterrupto, isso pode durar para sempre.
O lugar para procurar pistas é o seu sistema de logs. Provavelmente haverá pistas, seja do driver que está se comportando mal ou de um driver genérico (por exemplo, o driver de barramento USB) que detectou algo estranho, como um dispositivo desconectando-se abruptamente ou enviando mensagens malformadas. Tente dmesg
ou journalctl -k
ou less /var/log/kern.log
(acho que esse é o nome no Mint, se não olhar para qualquer arquivo que contenha logs do kernel).
Tentando desconectar forçadamente o dispositivo via /sys
entradas pode funcionar (depende do problema)