Como é que eu posso anexar strace a um processo que não está na saída do ps?

2

Estou tentando depurar por que nossos testes de integração estão demorando tanto e parece que estão ocorrendo no meio do caminho.

Eu fiz o login no nosso serviço de teste e vi o seguinte comportamento:

root@colossus:~# strace -p 18310
Process 18310 attached - interrupt to quit
futex(0x7f9915c609d0, FUTEX_WAIT, 18313, NULL^C <unfinished ...>
Process 18310 detached

root@colossus:~# strace -p 18313
Process 18313 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>^C <unfinished ...>
Process 18313 detached

root@colossus:~# ps -ef | grep 18313
root     19089 19034  0 09:46 pts/0    00:00:00 grep --color=auto 18313

root@colossus:~# ps -p 18313
PID TTY          TIME CMD

Minha interpretação desses comandos é que 18310 está aguardando que seu filho 18313 seja concluído.

O processo 18313 está tentando reiniciar uma chamada de sistema interrompida.

Aqui é onde fica esquisito. Embora eu possa anexar a 18313 , não consigo vê-lo na lista de processos atuais, quando executo ps .

Alguém pode me ajudar a entender o que está acontecendo aqui, por favor?

    
por Dancrumb 23.04.2014 / 16:53

1 resposta

1

O comentário de Per Stéphane, o que estou vendo é um tópico, não um processo.

Threads são listados na saída de ps -L

É possível rastrear todos os threads atuais e futuros de um processo com strace -f

    
por 25.03.2015 / 17:44