Signal   신호, 시그널

(2015-02-28)
1. [운영체제]  시그널(signal)

  ㅇ 한 프로세스가 다른 프로세스통신하는 (메세지를 전달하는) 방법 중 하나 
     - 비동기적 사건(이벤트,예외 등)이 발생됐음을 다른 프로세스에게 알릴 때 사용
        . 즉, 소프트웨어에 의해 시작되는 프로세스간 통신(IPC)의 비동기적 방법

  ㅇ 한편, 시그널소프트웨어 인터럽트 라고도 함
     - 프로그램 실행의 일반적인 흐름이 중단되고 가로채어짐
        . 특정 이벤트 발생을 알리는 시그널을 받은 프로세스는 자신의 코드에 들어있는
          시그널 관련 핸들함수를 실행시키게 됨

  ㅇ 대부분의 시그널 기본 동작은 프로세스를 종료시키는 것과 연관됨


2. Unix/Linux 시그널

  ㅇ SIGxxx : 보통 고유의 작은 정수로 하고, 1부터 순차 증가
     - 각 시그널심볼 명이 < signal.h >에 정의됨
        . 실제 숫자는 구현에 따라 달라질 수 있음

  ㅇ 주요 例)
     - HUP : Hangup, 로그아웃 후 실행종료
        . SIGHUP 1 : 터미널이나 프로세스제어권 중단
     - INT : Interrupt
        . SIGINT 2 : 키보드에서 오는 인터럽트
     -  KILL : 무조건적이고 즉각적인 종료
        . SIGKILL 9 : 강제적인 프로세스 종료
     - TERM : Terminate, 자연스런 실행종료
        . SIGTERM 15


[UNIX 프로세스] 1. 프로세스 2. 시스템 호출 3. init,exec,fork 4. 시그널 5. 좀비

 
        최근수정     요약목록     참고문헌