自分用メモ2。 トレース関数ptrace()には、対象プロセスがforkしたりexecすると報告してくれる便利機能があるんですが、この仕様が不可解というか私が勘違いしていたかもしれないというお話です。 この報告機能ですが、ptrace(PTRACE_SETOPTION) で報告して欲しいオプションを設定します。 すると、waitpidしているときに、イベントが発生するとSIGTRAPに混ぜて報告してくれるという仕様です。 イベントの詳細データ(どのプロセスIDでとまったかとか)は、PTRACE_GETEVENTMSGで取得することが可能です。 で、実際やってはみたのですが、どうもウマく報告してくれなかったり意図しない動作をするときがあるようで、カーネルとか色々調べ倒して、なんとか一定の解がえられました。 1.PTRACE_SETOPTIONするときは対象元をとめておくべし PTRACE_S