2017-02-14 63 views
0

我正在查找有關如何使用Linux系統調用ptrace()跟蹤進程所有子進程,孫進程等進程的系統調用的代碼示例。類似strace的行爲,當它被送入叉標誌-f時。Ptracing Process Trees

我知道尋找strace來源的另一種方法,但我首先要求提供一個乾淨的教程,希望能夠得到更加獨立的解釋。

我會用它來實現一個類似於https://github.com/nordlow/strace-memoize的快速通用系統調用memoizer,但是用編譯語言編寫。我當前的代碼的例子,我想這種邏輯延伸是我https://github.com/nordlow/ministrace/blob/master/ministrace.c

回答

0

ministrace的叉RTFM PTRACE_SETOPTIONSPTRACE_O_TRACECLONEPTRACE_O_TRACEFORKPTRACE_O_TRACEVFORK標誌。簡而言之,如果您將其設置在流程上,則只要它創建子項,那些子項也會自動跟蹤。