博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下多任务简单实现
阅读量:4359 次
发布时间:2019-06-07

本文共 523 字,大约阅读时间需要 1 分钟。

#include <stdio.h>

#include <unistd.h>
#include <sys/types.h>

#include <signal.h>

#include <sys/wait.h>

void start_routine();

void signal_handler(int signo){

    if(signo==SIGCHLD){
        pid_t pid;
        while((pid=waitpid(-1,NULL,WNOHANG))>0){
        }
    }
}

int main(){

    signal(SIGCHLD,signal_handler);

    int i;

    pid_t pid;
    for(i=0;i<3;i++){
        pid=fork();
        if(pid==0){
            start_routine();
            return 2;
        }
    }
    while(1);
    return 1;
}

void start_routine(){

    printf("-- %d <-- %d --\n",getpid(),getppid());
    return;
}

转载于:https://www.cnblogs.com/tiancun/p/7472422.html

你可能感兴趣的文章
1028: 可乐(2018年中南大学研究生复试机试题 )
查看>>
珍藏的最全的windows操作系统快捷键
查看>>
【DBAplus】SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势
查看>>
二叉树结点删除操作
查看>>
图论-单源最短路-SPFA算法
查看>>
转换文件的字符集
查看>>
prometheus + grafana安装部署(centos6.8)
查看>>
Redis和Memcached的区别【转】
查看>>
VMware: Deploy multiple VM’s from template with PowerCLI
查看>>
Cascaded pose regression
查看>>
model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)...
查看>>
自动在数据库中创建表
查看>>
如何在一个进程中启动另外一个线程:ProcessStartInfo Constructor
查看>>
树状数组模板题 P1904
查看>>
Kerberos安装及使用
查看>>
android 布局中 layout_gravity、gravity、orientation、layout_weight
查看>>
highcharts
查看>>
【学员管理系统】0x02 学生信息管理功能
查看>>
什么是Entity Framework(ORM)
查看>>
软件质量理解
查看>>