함수명 : 올리기
헤더 파일 : <stdio.h>
함수 프로토타입 : int raise(int sig);
기능 : 실행중인 프로그램에 신호를 보낸다.
매개변수 : 전송할 신호의 이름
반환 값 : 성공 시 0, 실패 시 0이 아님
보충 : SIGABRT(Signal Abort) 프로그램이 비정상적으로 종료됩니다.
SIGFPE(신호 부동 소수점 예외) 0으로 나누기 또는 오버플로(반드시 부동 소수점 연산일 필요는 없음)와 같은 산술 연산 오류입니다.
SIGILL (Signal Illegal Instruction) 일반적으로 코드의 변형이나 데이터 실행 시도로 인해 발생하는 불법 명령어와 같은 불법 함수 이미지입니다.
SIGINT (신호 인터럽트) ctrl-C와 같은 인터럽트 신호는 일반적으로 사용자에 의해 생성됩니다.
SIGSEGV(신호 분할 위반) 존재하지 않는 메모리 장치에 액세스하는 등 메모리에 대한 불법적인 액세스입니다.
SIGTERM (신호 종료) 이 프로그램에 전송되는 종료 요청 신호입니다.
프로그램 예: 나누기가 의미가 있는지 확인합니다. 나누기가 0이면 신호를 보냅니다.
#include<signal.h>#include<stdio.h>intmain(void){inta,b;a=10;b=0;printf(begin------n);if(b==0) raise(SIGFPE);//제수가 0이면 프로그램을 종료하라는 신호를 보냅니다. a=a/b;printf(begin----n);return0;}
실행 결과
시작하다-----