A resposta está dentro de Monitorar a E / S de um programa com opensnoop
disponível em muitos Unix (e não apenas Solaris).
Gostaria de listar todos os arquivos que foram lidos, criados ou atualizados no aplicativo em execução.
A resposta está dentro de Monitorar a E / S de um programa com opensnoop
disponível em muitos Unix (e não apenas Solaris).
Não tenho conhecimento de nenhum aplicativo ou ferramenta que forneça todas as informações necessárias sobre um processo em um só lugar. Mas, se você entende Linux
, há algumas coisas que farão valer a pena. A primeira é que tudo é um file
. Isso é ótimo porque você pode simplesmente catar arquivos para obter informações. A segunda é que todas as informações necessárias sobre os processos estão em /proc
. Se você tiver um PID
de um processo pai, poderá encontrar o que quiser sobre o processo a partir dele. Sugiro man proc
.
Obtenha seu ID de processo ( firefox
, por exemplo, o segundo grep
é para ocultar a própria pesquisa de grep
):
ps aux | grep firefox | grep -v grep
Você receberá algo como:
<login> <pid> .... /path/to/program
Você pode executar file
em /proc/pid/fd/*
file /proc/1809/fd/*
Você receberá algo como:
....
/proc/1809/fd/94: symbolic link to '/home/pp/.mozilla/firefox/79bmloy7.default/formhistory.sqlite'
/proc/1809/fd/96: symbolic link to '/home/pp/.mozilla/firefox/79bmloy7.default/signons.sqlite'
....
Tags command-line files