linux下多进程的一个问题 (c++)

请教一个多进程的小白问题,就是我linux下fork了一堆子进程,如下:
//create sub processs
int status,i;

for (i = 0; i < SUB_NUMBER; i++)
{

  status = fork();

  if (status == 0 || status == -1) break;
}

if (0 != status)
{

}
else if (status == 0)
{
        //sub process

}
-----------假如SUB_NUMBER=100,也就是有100个子进程,但是实际上比较活跃的顶多有十几个进程,有好些甚至感觉根本没在干活,子进程里面的代码逻辑都一样的。。。。。。是进程起的太多了吗?烦请赐教,不胜感谢。。

可以开多少个子进程是根据配置来的,如果你的O/S支持,那开多点是可以的

理论上来说,操作系统默认设置的是单进程可以打开256个文件描述符,也即:可以至少打开256个进程的。

你ptree pid能看到100个输出么

ok,回来瞟了一眼,发现当线程建立失败后,你是直接跳出循环的,这个地方处理一下status == -1也许你会知道为什么