如果子进程执行读取和写入之外的其他系统调用(甚至过滤这些调用,但这是另一回事),我想杀死一个子进程,但默认情况下会执行一些系统调用。
我已经编译了一个空的测试子程序(立即退出),并且我还有一个父进程,它分叉、启用 ptracing 并执行子程序。父进程使用 PTRACE_SYSCALL 并且每次都检查 orig_eax。我的测试程序报告说孩子被停止了 49 次(我假设这意味着 48 / 2 + 1 系统调用)。
我想知道系统调用序列是否始终相同(初始化)和/或有可能知道我何时可以开始以及何时停止我父母的 kill-on-syscall?