“ls” parou tentando listar um ponto de montagem obsoleto. Como você mata / pára?

4

Ao trabalhar com sistemas de arquivos remotos, como sshfs ou smbfs , é o comando que eles se tornam obsoletos devido a problemas de rede. Para verificar se a montagem é obsoleta ou não, geralmente uso o comando ls para ver se consigo listar o conteúdo das montagens remotas. Quando essas montagens remotas são obsoletas, o comando ls apenas espera por um longo tempo até produzir, após alguns minutos, algo como:

ls: cannot access '/mnt/remote': Input/output error

Em vez de esperar por este erro, existe uma maneira de parar o comando ls de dentro da mesma sessão bash ? O controle normal + C não parece fazer o trabalho. Fechar o bash funciona, mas isso é indesejável. Alguma alternativa?

    
por UndeadKernel 12.04.2016 / 10:55

2 respostas

5

Não, como ls (ou qualquer outro processo de operação de arquivo) está no estado do processo "ininterrupto sleep", não há nada que possa interrompê-lo, mesmo SIGKILL não pode.

Talvez você possa diminuir os valores de tempo limite ao montar sistemas de arquivos remotos. sshfs tem ServerAliveInterval e ServerAliveCountMax .

    
por 12.04.2016 / 11:45
-1

Para interromper todos os processos ls :

pkill --signal SIGKILL ls
    
por 12.04.2016 / 10:57