创建子进程

Posted 五个板栗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建子进程相关的知识,希望对你有一定的参考价值。

  • 程序:只占用磁盘空间
  • 进程:是运行起来的程序,占用内存、cpu等系统资源
  • fork函数:create a child process

函数原型:pid_t  fork(void); 父进程返回子进程的pid,子进程返回0;

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main(int argc,char *argv[])

printf("hello world\\n");
printf("hello\\n");
printf("bye\\n");
pid_t pid =fork();
if(pid==-1)

perror("fork error");
exit(1);

else if(pid==0)

printf("child is create\\n");

else if(pid>0)

printf("parent process:my child is %d\\n",pid);

printf("end of file\\n");
return 0;

创建子进程_循环创建子进程

  • fork之前的代码之前的代码子进程没有机会执行,所以出现一次,fork之后的代码子进程也有机会执行,所以出现两次

循环创建子进程

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()

int i;
pid_t pid;
for(i=0;i<5;i++)

if(fork()==0)
break;

if(i==5)

sleep(5);
printf("parent\\n");

else

sleep(1);
printf("%dth child\\n",i+1);

return 0;

printf("%d child\\n",i++);

创建子进程_循环创建子进程_02

以上是关于创建子进程的主要内容,如果未能解决你的问题,请参考以下文章

用进程池创建子进程

利用fork创建子进程

创建子进程

创建子进程

Linux-fork创建子进程

VB 在Visio 2010 以编程方式创建子进程图