基本的なシステム コール トレーサを作成しています。その基本的な操作は、子を生成し、そのシステム コールをインターセプトし、カウントアップし、子が閉じた後に結果をファイルにダンプすることです。
一般的な端末プログラムでトレーサーをテストしています。奇妙なことに、子プロセスが生成されるとすぐに、複数のexecve呼び出しが連続してカウントされることがあります。たとえば、lsでプログラムをテストすると、システム コール トレーサは ls が生成された直後に 7 つの execve をカウントします。しかし、\bin\lsでシステム コール トレーサをテストすると (他に変更はありません)、システム コール トレーサは 1 つの execve コールしかカウントしません。これは上記の場合と同じです。
異なるカウントが得られるのはなぜですか? シェルは私が知らない呼び出しを行っていますか?