Lista processos de acesso ao dispositivo após 'umount --lazy'

1

Desejo remover meu disco rígido externo da forma mais segura possível.

Eu quero usar umount --lazy :

Lazy unmount. Detach the filesystem from the file hierarchy now, and clean up all references to this filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)

Em seguida, após um pequeno atraso, planejo eliminar todos os processos com arquivos abertos no dispositivo em que o sistema de arquivos ainda está quase montado.

  • Não consigo usar lsof para obter uma lista precisa dos arquivos abertos, pois o sistema de arquivos tornou-se invisível para novos processos.
  • Se eu usar lsof antes de umount -l , há uma contenção de corrida de um novo arquivo sendo aberto entre as duas invocações.

Existe alguma maneira de descobrir quais processos estão acessando um DEVICE em vez de um sistema de arquivos?

    
por Tom Hale 12.08.2017 / 10:01

2 respostas

1

Você pode tentar remontar o volume somente leitura. Isso funciona apenas se nada desse volume for aberto para gravação.

Você provavelmente não se livrará da condição de corrida que um arquivo poderia ser aberto somente para leitura ou que um processo poderia ter seu diretório de trabalho atual naquele volume, mas se você desconectar o hardware, você pode ter certeza de que sistema de arquivos está em ordem.

    
por 13.08.2017 / 17:52
0

lsof pode ser usado em um dispositivo:

lsof +f -- /dev/device
    
por 03.09.2017 / 09:46