Когда процесс ведёт себя странно, но трогать его нельзя,
strace даёт доступ к системным вызовам в реальном времени.Подключаешься к уже запущенному процессу и смотришь, что он делает на уровне ядра:
$ strace -p 1234 -e trace=%network
$ strace -p 1234 -e trace=%file
Видно, куда он ходит по сети, какие файлы читает или пытается открыть. Это быстрый способ понять, где он залип.
Если нужен общий профиль без тонны вывода, можно использовать агрегированную статистику:
$ strace -p 1234 -c
$ strace -p 1234 -c -f
strace -p использует ptrace, требует прав и при подключении может прервать текущий syscall (редко, но бывает).🔥 Это один из самых быстрых способов первичной диагностики на Linux, когда нет логов, нет доступа к коду и нельзя перезапускать сервис.
🚪 Linux Ready | #совет
