Como eu sei quais arquivos são executados quando abro uma aplicação?

12

Eu quero saber o que acontece por trás da tela quando abro algum aplicativo. Por exemplo, quando abro o firefox, quero saber quais arquivos são lidos e quais são executados. Há alguma maneira de fazer isso. Até mesmo abrir o firefox do terminal não mostra nenhuma informação. SO: Ubuntu 12.04

    
por nitishch 03.09.2013 / 16:28

2 respostas

21

Use strace !

Exemplo: lista todos os arquivos abertos pelo Firefox durante uma sessão:

strace -f firefox 2>&1 | grep 'open('

Resulta em algo assim se você abrir uma segunda instância do FireFox: link (A opção '-f' apenas faz o strace seguir o processo garfos.)

Exemplo 2: lista todos os processos executados pelo FireFox:

strace -f firefox 2>&1 | grep -P 'exec[vlpe]*\('

Resulta em algo assim ao visitar o YouTube:

[pid 25020] execve("/usr/lib/firefox/plugin-container", ["/usr/lib/firefox/plugin-containe"..., "/usr/lib/adobe-flashplugin/libfl"..., "-greomni", "/usr/lib/firefox/omni.ja", "-appomni", "/usr/lib/firefox/browser/omni.ja", "-appdir", "/usr/lib/firefox/browser", "15198", "false", "plugin"], [/* 57 vars */]) = 0
[pid 25024] execve("/bin/sh", ["sh", "-c", "ps x | grep netscape"], [/* 57 vars */]) = 0
[pid 25025] execve("/bin/ps", ["ps", "x"], [/* 57 vars */] <unfinished ...>
[pid 25026] execve("/bin/grep", ["grep", "netscape"], [/* 57 vars */]) = 0

Você pode fazer isso com muitas outras chamadas do sistema também ...

Ao corresponder os parâmetros de open() em sua pesquisa grep , você também pode descobrir em qual modo o arquivo foi aberto:

Basta adicionar | grep -P 'O_RDONLY|O_RDWR' (o caractere de canal principal é importante!) para filtrar o acesso de leitura ou | grep -P 'O_WRONLY|O_RDWR' para acesso de gravação ao seu comando ...

EDITAR :

Como foi mencionado nos comentários, você também pode usar strace -fe open firefox para listar todos os arquivos abertos pelo FireFox. Você também pode usar strace -fe trace=file firefox para listar todas as operações de arquivos feitas pelo FireFox que tenham um caminho de arquivo como um argumento (aberto, stat, lstat, chmod, acesso, ...).

Muitos mais estão disponíveis! Confira a strace (1) página de manual.

    
por alexander255 11.03.2018 / 10:55
1

na verdade, há o modo chamado de modo detalhado, mas não tenho certeza se o firefox tem essa opção. Mas não há problema, cada aplicativo consistirá em seu log. Portanto, você pode verificar a atividade do aplicativo verificando seus dados de log.

Se você quiser ativar o log do firefox, verifique isso

link

toda atividade de aplicação no Ubuntu você pode checar com seus logs específicos. todos os aplicativos irão logar no diretório /var/log .

    
por Ten-Coin 03.09.2013 / 16:38

Tags