strace -f
pour tracer le processus enfant qui est fork()
éd.
Il existe un script perl appelé strace-graph
. Voici une version de github. Il est fourni avec crosstool-ng versions des compilateurs. Cela fonctionne pour moi même en multiplateforme.
Boîte ARM Linux.
$ ./strace -f -q -s 100 -o app.trc -p 449
$ tftp -pr app.trc 172.0.0.133
Boîte Linux X86_64.
$ ./strace-graph /srv/tftp/app.trc
(anon)
+-- touch /tmp/ppp.sleep
+-- killall -HUP pppd
+-- amixer set Speaker 70%
+-- amixer set Speaker 70%
+-- amixer set Speaker 70%
+-- amixer set Speaker 70%
+-- amixer set Speaker 50%
+-- amixer set Speaker 70%
`-- amixer set Speaker 50%
La sortie peut être utilisée pour faciliter la navigation dans le journal de suivi principal.
Je ne vois pas de moyen simple :
Vous pouvez utiliser le -ff
option avec -o filename
pour produire plusieurs fichiers (un par pid).
ex :
strace -o process_dump -ff ./executable
grep clone process_dump*
cela vous aiderait à voir quel parent a créé quoi. Peut-être que cela vous aiderait - au moins, vous pourriez alors effectuer une recherche en arrière.