[리눅스 시스템 프로그래밍] 9. 시그널(Signals)

리눅스 시스템에서는 소프트웨어 인터럽트인 시그널을 제공합니다. 시그널은 비동기적인 이벤트를 발생시키는 방법을 제공합니다.

이번 장에서는 시그널의 종류와 시그널을 발생하는 방법 및 시그널 발생하였을 때 처리하는 방법에 대하여 다룰 것입니다.

다음은 이번 장에서 다룰 함수입니다.

#include <sys/types.h>

#include <signal.h>

#include <unistd.h>

#include <stdlib.h>

void (*signal(int signo, void (*sig_handler)(int)))(int);

int kill(pid_t pid, int signo);

int raise(int signo);

int sigemptyset(sigset_t *set);

int sigfillset(sigset_t *set);

int sigaddset(sigset_t *set,int signo);

int sigdelset(sigset_t *set,int signo);

int sigismember(const sigset_t *set, int signo);

int sigprocmask(int how, sigset_t *set, sigset_t oset);

int sigaction(int signo, struct sigaction *act, struct sigaction *oact);

int sigpending(sigset_t *set);

int sigsuspend(sigset_t *set);

int sigsetjmp(sigjmp_buf env, int smask);

void siglongjmp(sigjmp_buf env, int val);

void abort(void);

unsigned int alarm(unsigned int seconds);

int pause(void);

unsigned int sleep(unsigned int seconds);