Estou tentando diagnosticar um comando intermitentemente lento. Quando executo o comando e o vejo pendurado, pressiono control + t para obter o PID, depois, em outra guia, corro diagnose [PID]
- por exemplo, diagnose 123
. Eu defini diagnose
como uma função na minha configuração zsh:
# See system calls of the process with a given PID
function diagnose() { sudo dtruss -cade -p "$1" 2>&1 | tee /tmp/dtruss_output }
Obviamente, desde que eu estou reagindo quando noto um jeito, eu corro diagnose
vários segundos após o início do processo. A saída lista muitas chamadas do sistema, mas eu me pergunto se estou perdendo alguma coisa importante.
Faz dtruss listar comandos retroativamente? Em outras palavras, a saída de dtruss -p [PID]
incluem chamadas do sistema feitas por esse processo antes dtruss
foi executado?