码迷,mamicode.com
首页 > 系统相关 > 详细

fork创建进程使用

时间:2020-04-15 21:23:20      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:int   for   process   span   sleep   error   err   clu   pid_t   

1.fork创建进程的使用

 fork()返回值等于0时,表示创建子进程;

   fork()返回值大于0时,是主进程;

#include<stdio.h>
#include<stdlib.h>
#include<sys/wait.h>
#include<signal.h>

void sig_handler(int signo)
{
    printf("child process %d stop\n", signo);
    //wait(0);
 
}
void out(int n)
{
    int i = 0;
    for(i = 0; i < n; ++i)
    {
        printf("%d:%d out %d\n", getpid(), i);
        sleep(1);
    }
}
int main(void)
{
    if (signal(SIGCHLD, sig_handler) == SIG_ERR)
    {
        perror("sigchld error");
        exit(1);
    }
    
    pid_t pid = fork();
    if(pid < 0)
    {
        perror("fork error");
        exit(1);
    }
    else if(pid > 0)
    {
        out(100);
    }
    else
    {
        out(20);
    }
    
    return 0;
}

 

fork创建进程使用

标签:int   for   process   span   sleep   error   err   clu   pid_t   

原文地址:https://www.cnblogs.com/weiyouqing/p/12708191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!