strace onderschept en toont alle systeemaanroepen van een proces — onmisbaar voor het debuggen van mysterieuze fouten.
strace commando
strace -p PID
| Optie | Betekenis |
|---|---|
-p PID | Koppel aan bestaand proces |
-e trace=categorie | Filter op type systeemaanroep |
-o bestand | Schrijf uitvoer naar bestand |
-f | Volg ook child-processen |
-c | Statistieken — welke aanroepen kosten het meest tijd |
-s n | Maximale stringlengte (standaard: 32) |
-T | Toon tijdsduur per aanroep |
-t | Voeg tijdstempel toe |
-e trace=)| Categorie | Inhoud |
|---|---|
file | Bestandstoegang |
network | Netwerkaanroepen |
process | Processen starten/stoppen |
signal | Signaalafhandeling |
ipc | Inter-processcommunicatie |
Welke bestanden opent een commando?
strace -e trace=file ls /tmp 2>&1 | grep open
Netwerkverbindingen van een proces:
strace -p 1234 -e trace=network
Tijdverdelingen:
strace -c commando
Uitvoer naar bestand:
strace -o /tmp/trace.txt -f nginx -t
strace -e trace=openat commando is de snelste manier om te zien welke configuratiebestanden een programma probeert te lezen — handig bij "config not found" fouten.