C & LINUX

C / LINUX raise(3)

Ocean_ 2022. 5. 31. 16:47

함수 기능

raise는 자기자신에게 시그널을 보내는 함수이다. ANSI C 에는 정의되어있으나 POSIX.1에는 정의되어 있지 않다

함수 원형

#include<signal.h>

int raise(int sig);
 

함수 파라메터

sig

signal을 넣으면 됨

함수 예제

#include<stdio.h>
#include<stdlib.h>
#include<signal.h>

void ssu_signal_handler1(int signo);
void ssu_signal_handler2(int signo);

int main(void){
    if(signal(SIGINT, ssu_signal_handler1)==SIG_ERR){
        fprintf(stderr,"cannot handle SIGINT\n");
        exit(EXIT_FAILURE);
    }

    if(signal(SIGUSR1, ssu_signal_handler2)==SIG_ERR){
        fprintf(stderr,"cannot handle SIGUSR1\n");
        exit(EXIT_FAILURE);
    }

    raise(SIGINT);
    raise(SIGUSR1);
    printf("main return\n");
    exit(0);
}

void ssu_signal_handler1(int signo){
    printf("SIGINT 시그널 발생\n");
}

void ssu_signal_handler2(int signo){
    printf("SIGUSR1 시그널 발생\n");
}

함수 결과

 

리눅스시스템 프로그래밍 - 홍지만 저

교재 내에 있는 예제를 바탕으로 작성한 글 입니다.