创建子进程

厌伴老儒烹瓠叶,强随举子踏槐花。这篇文章主要讲述创建子进程相关的知识,希望能为你提供帮助。

  • 程序:只占用磁盘空间
  • 进程:是运行起来的程序,占用内存、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++);


【创建子进程】

    推荐阅读