Como rastrear todos os arquivos que um processo abre durante sua vida útil

Respostas:

25

Usando o comando strace , pode ser possível com algo como:

strace -e trace=open program [arguments]
slubman
fonte
Isso mostrará todos os arquivos que um processo tentou acessar. Pode-se pensar que algo assim strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT'poderia melhorar a situação, mas também não é verdade. O último falhará ao detectar chamadas inacabadas e, em seguida, retomará as chamadas para open.
Facetus
2
Observe que o sinal que você precisa pode ser openat.
merlinND 5/03
6

Não sei se entendi exatamente o que você quer fazer com isso. Mas, você já considerou strace? Ele exibe todas as chamadas do sistema, incluindo arquivos.

EDIT: Não se esqueça da opção -f que permite seguir processos bifurcados.

Antoine Benkemoun
fonte
1
Depuração de que os arquivos de configuração são lidos por um aplicativo
Peter Smit