Obtém o caminho completo dos arquivos atualmente abertos

2

Estou tentando codificar um aplicativo simples que deve ler todos os arquivos abertos no momento em um determinado diretório. Mais especificamente, eu quero obter uma lista de arquivos abertos em qualquer lugar dentro da minha pasta Documentos, mas eu não quero apenas os IDs ou o nome do processo, eu quero o caminho completo do arquivo aberto.

A coisa é que eu ainda não encontrei nada para fazer isso. Eu não poderia fazê-lo nem no shell linux (usando comandos ps e lsof) nem usando a biblioteca psutil do python. Nenhum deles está me dando a informação que eu preciso, que é apenas o caminho dos arquivos atualmente abertos em um diretório.

Algum conselho?

Agradecemos antecipadamente

P.S: Estou marcando isso como uma questão python (além das tags relacionadas ao os) porque seria uma vantagem se pudesse ser feito usando alguma biblioteca python.

    
por user266044 06.04.2014 / 22:33

2 respostas

0

O comando lsof deve funcionar para você. Experimente

lsof | grep cwd

em que cwd representa o diretório de trabalho atual.

    
por Magpie 06.04.2014 / 22:52
0

Parece que deve haver uma maneira mais eficiente de fazer isso, mas isso deve dar o resultado desejado:

lsof -Fn +D $HOME | sed -n '/^n/ s/n//p' | sort -u

Veja essa pergunta relacionada em stackoverflow Verifique se há arquivos abertos com o Python no Linux .

    
por steeldriver 07.04.2014 / 01:50