derobert já mencionou dmesg
nos comentários. Tente executá-lo usando um caminho absoluto, como este:
/bin/dmesg | /bin/more
Veja se há algo que possa parecer um erro de disco: pode ser que um dos diretórios listados em seu PATH
esteja em um disco com falha. Se o disco estiver falhando de uma maneira que faça com que ele fique preso, sempre tentando novamente a operação de leitura com falha, isso pode fazer com que o shell seja interrompido quando estiver procurando um comando para executar.
Você também pode tentar minimizar o PATH
: inicialmente definido
PATH=/bin:/sbin
Se agora você pode executar comandos sem pendurar e sem usar caminhos absolutos, adicione novamente /usr/bin
e /usr/sbin
.
PATH=/bin:/usr/bin:/usr/sbin:/sbin
Agora você deve ter todos os comandos padrão disponíveis sem usar caminhos absolutos. Se o fenômeno de enforcamento não ocorrer novamente, você poderá começar a verificar os diretórios restantes.
Como uma verificação rápida, você pode usar o comando ls
, mas executá-lo em segundo plano para que sua sessão atual não fique inutilizável se o comando parar. Por exemplo:
ls /u01/jdk/bin &
Se você vir a saída do comando ls
, pressione Enter uma vez para ver o prompt novamente. (Você provavelmente também verá uma mensagem do shell indicando que um comando em segundo plano acabou de ser concluído.)
Se a saída de ls
não aparecer ou estiver claramente incompleta, verifique novamente a saída do comando dmesg
: você pode descobrir que o kernel agora está emitindo erros de E / S de disco para o final da saída. Essas mensagens de erro podem ser usadas para identificar o dispositivo de disco com falha, mas sabendo exatamente em qual caminho o comando ls
falhou, talvez você já tenha uma boa ideia disso.