Estoy tratando de diagnosticar un comando intermitentemente lento. Cuando ejecuto el comando y veo que se cuelga, presiono control + t para obtener el PID, luego en otra pestaña, ejecuto diagnose [PID]
- Ej, diagnose 123
. He definido diagnose
como una función en mi configuración de 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, como estoy reaccionando cuando noto un cuelgue, corro diagnose
varios segundos después del inicio del proceso. La salida enumera muchas llamadas al sistema, pero me pregunto si me estoy perdiendo algo importante.
¿Lista dtruss los comandos con carácter retroactivo? En otras palabras, ¿la salida de dtruss -p [PID]
incluyen las llamadas al sistema realizadas por ese proceso antes de dtruss
¿se ejecutó?