首页 > 代码库 > linuc c 代码示例

linuc c 代码示例

 

fork的应用:

#include "stdio.h"#include "string.h"#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h> #include <unistd.h>#define Max(a,b) ({int a1=a,b1=b; a1>b1?a1:b1;})int main(){    int i,j,k,*q;    char *p="abc";    int pids[10];    int pid;    q=pids;    //printf("%d \n", getpid());    //sleep (3);for(i=0;i<3;i++){    printf("for-%d\n",i);    pid=fork();    if(pid) {        *(q++) = pid;        }else if(pid == 0){        sleep(5);        printf("child:%d \n", getpid());        break;    }}    if(pid>0)    {        for(i=0;i<3;i++)        {        //    waitpid(pids[i], NULL, 0);                printf("parent: %d, %d \n", getpid(),pids[i]);        }    }    printf("song \n");}

没有waitpid时输出:

有waitpid时:

 

linuc c 代码示例