Linux sample using fork and signal

#include"xylib/xiuye"
#include<unistd.h>
#include <signal.h>
// #include <sys/types.h>
#include <wait.h>

using namespace xiuye;

//println_sepetator = ';';//在外面無法使用命名空間內的全局變量!
namespace test{
    int a = 100;
}

void func(int s){
        
    println("child died",s);
    // exit(0);
}

int main(){

    signal(SIGCHLD,func);

    //println_sepetator = ';';//OK,function inner!

    if(fork()){
        println("id:",wait(nullptr));
        println("father",getpid());
    }  
    else{
        println("son",getpid(),getppid());
    }
    println("test::a=",test::a);

    println("println_sepetator=",println_sepetator);

    return 0;
}
son 8604 8603 
test::a= 100 
println_sepetator=   
child died 17 
id: 8604 
father 8603 
test::a= 100 
println_sepetator=  

library and demos

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章