[实践OK]linux中fork同时创建多个子进程的方法

jackxiang 2014-1-15 14:37 | |
子进程和主进程得判断一下,否则会运行两次:



cat Makefile
malloc:malloc.c  
        gcc -g -o  malloc -Wall malloc.c  
        gcc -g -o  fork -Wall fork.c  
        gcc -g -o  forkn -Wall forkn.c  
clean:  
        rm -rf malloc      
        rm -rf fork
        rm -rf forkn

查看内存:
ps -o 'pid,ppid,sz,vsz,rss,cmd' -C  forkn

=============================================================================
linux中fork同时创建多个子进程的方法

正确的使用Linux中的用fork()由一个父进程创建同时多个子进程 的格式如下:
int status,i;
for (i = 0; i < 10; i++)
{
  status = fork();
  if (status == 0 || status == -1) break;//每次循环时,如果发现是子进程就直接从创建子进程的循环中跳出来,不让你进入循环,这样就保证了每次只有父进程来做循环创建子进程的工作
}
if (status == -1)
{
  //error
}
else if (status == 0) //每个子进程都会执行的代码
{
  //sub process
}
else
{
  //parent process
}
来自:http://blog.sina.com.cn/s/blog_605f5b4f0100x444.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6951/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2018-9-26 18:08
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]