假设您的子进程使用C库来执行系统调用,它是一个动态可执行文件,并且您的系统使用ELF格式,那么您可以将LD_PRELOAD设置为一个拦截您感兴趣的函数的库。如果无法实现上述方法,您可以使用Valgrind工具。
有点棘手。如果这是Linux或BSD,您可以尝试使用setrlimit(RLIMIT_NPROC,&lim)进行实验。这不会在子进程尝试创建进程时终止它,但它会导致系统调用fork失败。不知道是否有更多可移植的答案。