Se você não pode interromper uma "leitura ininterrupta" e isso não está relacionado a um servidor NFS desligado, você descobriu um erro de driver.
E / S para o armazenamento em segundo plano local não deve ter um tempo limite maior que 5-10 minutos. Então, se você digitar ^C
ou ^Z
e nada acontecer dentro de 10 minutos, há um erro de driver.
O pano de fundo é que o UNIX define que o chamado fast IO
não é interrompido por sinais porque o IO rápido terminará após um período de tempo previsível.
Tornar o IO interrompido por sinais causa uma alta sobrecarga, já que é necessário voltar a um estado limpo. Tudo o que aconteceu depois de iniciar o IO precisa ser desenrolado e um retorno só pode acontecer de onde o IO foi iniciado.
Ainda pior, se um driver de armazenamento em segundo plano implementar IO interrompível, isso causaria problemas inatingíveis nos sistemas de arquivos acima desse driver. Você está usando um driver que deve ser usado como armazenamento em segundo plano para um sistema de arquivos ...
Você pode chamar dmesg
e verificar as mensagens do kernel para o seu problema. Se a interrupção realmente não funcionar após 10 minutos (quando se espera que uma chamada de sistema de leitura ou gravação atinja o tempo limite e haja uma chance de matar dd
entre dois desses syscalls), será necessário reinicializar.
Se este é um dispositivo na USB, você pode tentar puxar o dispositivo antes de reiniciar.