2011年8月25日 星期四

signal to open flag


include
#include <stdio.h>
#include <signal.h>
main 
int main(){
    signal(SIGUSR1, handle_signal);
    //kill -USR1 PID or kill -10 PID
    signal(SIGUSR2, handle_signal);
    //kill -USR2 PID or kill -12 PID
    for(;;){
        if(on == 1){
            printf("SIGUSR1\n");
            sleep(3);
        }else{
            printf("SIGUSR2\n");
            sleep(3);
        }
    }
    pause();
    return 0;
}

signal function
int on = 0;

void handle_signal(int sig){
    switch(sig){
        case SIGUSR1:
            on=1;
            break;
        case SIGUSR2:
            on=1;
            break;
    }
}

沒有留言:

張貼留言