Arquivos abertos por um processo

Para verificar os arquivos abertos de um processo em execução no Linux existe o comando lsof. Esse comando com o parâmetro precisa do PID do processo para listar os arquivos que estão abertos. Podendo ser executado da seguinte maneira:

lsof -p 1234

Onde "1234" é o PID do processo. Para recuperar o PID de uma maneira mais amigável, você pode utilizar o comando ps ou pgrep. Por exemplo:

ps -C <nomeProcesso> -o pid=

ou

pgrep <nomeProcesso>
Dessa maneira podemos combinar os comandos para a execução em uma única linha:
lsof -p `ps -C <nomeProcesso> -o pid=` | less

ou

lsof -p `pgrep <nomeProcesso>`

Assim se você quiser, por exemplo, saber todos os arquivos abertos pelo nautilus é só executar:

lsof -p `pgrep nautilus`

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6