zoukankan      html  css  js  c++  java
  • fork创建进程使用

    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
    ", signo);
        //wait(0);
     
    }
    void out(int n)
    {
        int i = 0;
        for(i = 0; i < n; ++i)
        {
            printf("%d:%d out %d
    ", 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;
    }
  • 相关阅读:
    孙权劝学
    劝学
    为学
    字符串的全排列
    剑指offer面试题3二维数组中的查找
    如何正确安装软件
    写给自己的话
    Linux常用命令
    第三届华为杯
    D^3ctf两道 pwn
  • 原文地址:https://www.cnblogs.com/weiyouqing/p/12708191.html
Copyright © 2011-2022 走看看