Como obter uma lista de arquivos abertos para um script no Linux?

3

Digamos que eu gostaria de descobrir o que pip install faz, como quais arquivos são baixados, onde eles são extraídos, onde estão os arquivos temporários, ...

Existe alguma maneira sugerida de rastrear os arquivos abertos pelo script no Linux?

    
por Drake Guan 28.01.2012 / 11:08

2 respostas

2

Acho que você está procurando por Inotify . Ele rastreia as alterações nos arquivos e diretórios em um determinado caminho. E há muitas opções para que funcione como você deseja. Além disso, isso não depende do processo, portanto, você obtém todas as alterações feitas por qualquer processo ou script.

Você também pode dar uma olhada no fschange , que usa o inotify como backend.

E se você quiser uma ferramenta GUI, confira DaemonFS .

    
por 28.01.2012 / 11:20
0

Você pode usar o comando "lsof" para obter uma lista de arquivos abertos, para um processo com um determinado pid. Aqui está uma introdução útil: link

Para obter o id do processo do comando, você poderia fazer algo como ps ax | grep pip. Então apenas passe isso para lsof da seguinte forma: lsof -p theprocessid

    
por 28.01.2012 / 11:15

Tags