Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

strace

Processos e sistema

Uso

strace [-f] -p <pid>

Imprime cada chamada de sistema que um processo faz, e assim voce ve onde ele travou; a saida vai para stderr, redirecione com `2>&1`, precisa de permissao ptrace (geralmente sudo) e existe apenas no Linux (macOS tem dtruss).

Opções comuns

OpçãoSignificado
-p <pid>Attach to a process that is already running.
-fFollow child processes and threads too.
-e trace=openat,connectOnly the syscalls you care about.
-s 200Show 200 characters of each string instead of the default 32.
-o <file>Write to a file, since output goes to stderr.
-cA summary count per syscall instead of every line.
-ttTimestamps with microseconds, to see where the time went.

Exemplos

strace -f -e trace=openat ./app 2>&1 | grep config

Find which config file it actually reads.

sudo strace -p 1234 -s 200

See what a stuck process is waiting on.

sudo dtruss -p 1234

The macOS counterpart; needs elevated privileges and often SIP changes.

O que está rodando e o que está comendo a máquina. Identificar vem antes de matar.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

QO que strace faz?

Imprime cada chamada de sistema que um processo faz, e assim voce ve onde ele travou; a saida vai para stderr, redirecione com `2>&1`, precisa de permissao ptrace (geralmente sudo) e existe apenas no Linux (macOS tem dtruss).

QComo se digita?

strace [-f] -p <pid> — os colchetes marcam o que você pode omitir.

QQuantas opções vale a pena saber?

Aqui estão 7; a lista completa está em man strace. Este comando fica em Processos e sistema.

Comandos relacionados

página man: man strace