의미전달에 사용되는 대표적인 방법

interrupt

하던일 A를 중간에 잠시 멈추고 다른일 B를 하고 난 후, 다시 A로 돌아와서 멈춘 부분부터 일을 하는 것

kill

kill -시그널번호 PID

신호를 보내는 명령어

Kill, raise 함수

#include <sys/types.h> 
#include <signal.h> 
int kill(pid_t pid, int sig); 
int raise(int sig);

시그널 종류

#kill -l 
1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL      10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ 
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8         
35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3 
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7 
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2 
63) SIGRTMAX-1  64) SIGRTMAX 
신호 설명
SIGHUP 터미널과 연결이 끊겼을 때 발생합니다. 기본적인 처리는 프로세스가 종료되는 것입니다.
SIGINT Ctrl+C로 전경 프로세스 그룹의 모든 프로세스들에게 SIGINT 신호를 발생시킵니다. 기본으로 프로세스가 종료됩니다.
SIGQUIT Ctrl+\의 조합으로 전경 프로세스 그룹의 모든 프로세스에게 SIGQUIT을 발생시킵니다. 이 신호를 받는 프로세스는 기본적으로 종료되며 코어덤프를 생성합니다.
SIGABRT Abort함수를 호출하면 이 신호가 발생이 됩니다. 비정상적인 종료가 됩니다.
SIGKILL 프로세스를 무조건 종료합니다. 절대 무시할 수 없으며 제어될 수 도 없습니다.
SIGSEGV 프로세스가 잘못된 메모리를 참조했을 때 발생합니다. 기본 동작은 코어덤프를 남기고 종료합니다.
SIGALRM alarm함수에 의해 타이머가 만료되면 이 신호가 발생이 됩니다.
SIGTERM kill 함수의 기본 신호입니다. 기본적으로 프로세스가 종료합니다.
SIGCHLD 자식 프로세스에 의해서 발생하는 신호입니다. 자식 프로세스의 상태가 바뀔 때 이 신호가 발생합니다. 종료 뿐만 아니라 자식 프로세스의 정지나 재개 등에 의해 발생됩니다.
SIGCONT 중단된 프로세스를 다시 동작시킬 때 발생시키는 신호입니다.
SIGSTOP 프로세스를 중단시킵니다. 종료한 상태는 아닙니다. 이 신호 역시 제어될 수 없습니다.
SIGTSTP 이 신호는 프로세스를 중단시키는 신호라는 점에서 SIGSTOP과 비슷합니다. Ctrl+Z의 키 조합으로 신호를 발생시킬 수 있으며 SIGSTOP과는 다르게 시그널 처리를 할 수 있습니다.