strace -f
ke sledování podřízeného procesu, který je fork()
vyd.
Existuje perl skript s názvem strace-graph
. Zde je verze z github. Je součástí balení crosstool-ng verze kompilátorů. Funguje to pro mě i při použití napříč platformami.
ARM Linux box.
$ ./strace -f -q -s 100 -o app.trc -p 449
$ tftp -pr app.trc 172.0.0.133
X86_64 Linux box.
$ ./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%
Výstup lze použít k usnadnění navigace v hlavním protokolu trasování.
Nevidím snadný způsob:
Můžete použít -ff
možnost s -o filename
vytvořit více souborů (jeden na pid).
např.:
strace -o process_dump -ff ./executable
grep clone process_dump*
to vám pomůže zjistit, který rodič co vytvořil. Možná by vám to pomohlo – alespoň byste pak mohli hledat pozpátku.
Jak spustit skript shellu, když se změní soubor nebo adresář?
Jak zavolat Wine dll z pythonu na Linuxu?