linux 创建进程

http://wenku.baidu.com/view/9bbd27da50e2524de5187ea1.html  好好看看这个例子
http://blog.csdn.net/lingdxuyan/archive/2009/12/12/4993883.aspx

 

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

int main(int argc,char ** argv)
{
     pid_t child_id;
     int i=2;
     if((child_id = fork()) == 0)
     {
          /*child process*/
          while(i > 0)
          {
                 printf("I am a child process/n");
                 sleep(1);
                 i--;
          }
    }

     /*当子进程走完上面i--后也会走到此处,所以Child process also come here.会打印两遍*/
     printf("Child process also come here./n");
     /*parent process*/
     while(1)
     {
           printf("I am parent./n");
           sleep(1);
     }

     return 0;
}

 

另外一个方法:

int main(int argc,char ** argv)
{
      pid_t child_id;
      int i=2;
      if((child_id = fork()) == 0) /*在子进程中*/
      {
           /*child process*/
           while(i > 0)
           {
                 printf("I am a child process/n");
                 sleep(1);
                  i--;
           }
     }
     else /*在父进程中*/
     {
           printf("I am parent./n");
     }

      return 0;

}

 

相当于:
int main(int argc,char ** argv)
{
       pid_t child_id;
        int i=2;
       child_id = fork() /*创建子进程*/

        if(child_id == 0) /*在子进程中*/
        {
              /*child process*/
              while(i > 0)
             {
                   printf("I am a child process/n");
                   sleep(1);
                    i--;
             }
      }
      else    /*在父进程中*/
      {
             printf("I am parent./n");
      }

 return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值