raise() 함수는 신호를 프로그램에 보내는 데 사용됩니다. 미리 정의된 함수 signal()이 호출됩니다. 신호를 무시할지 아니면 신호 처리기를 호출할지 확인하기 위해 구현됩니다. 이것은 "signal.h" 헤더 파일에 선언되어 있습니다. 성공하면 0을 반환하고 그렇지 않으면 0이 아닌 값을 반환합니다.
다음은 C 언어의 raise() 구문입니다.
int raise(int signal)
여기,
신호 − 호출할 신호 번호입니다.
다음은 C 언어로 된 raise()의 예입니다.
예시
#include <signal.h> #include <stdio.h> void handler(int sig) { printf("Signal received : %d\n", sig); } int main() { signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL); return 0; }
출력
Sending signal : 4 Signal received : 4
위의 프로그램에서는 main() 함수 이전에 함수 핸들러가 정의되어 있고, 메인 함수에서는 signal()이 호출되고 SIGILL( Signal Illegal Instruction )이 송수신됩니다.
signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL);