Signal   신호, 시그널

(2019-08-26)

kill 명령어, SIGTERM

1. [운영체제]  시그널 (Signal)프로세스 간에 메세지 전달 방법
     - 비동기적 사건(이벤트,예외 등)이 발생됐음을 다른 프로세스에게 알릴 때 사용
        . 즉, 소프트웨어에 의해 시작되는 프로세스통신(IPC)의 비동기적 방법

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

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


2. [Unix/Linux]  시그널

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

  ㅇ 주요 例)
     - HUP : Hangup, 로그아웃 후 실행종료
        . SIGHUP 1 : 터미널이나 프로세스제어권 중단
     - INT : Interrupt, 인터럽트
        . SIGINT 2 : 키보드에서 오는 인터럽트 (Ctrl+C)
     - QUIT : Quit, 중지
        . SIGQUIT 3 : 키보드에 의한 중지, 코어 덤프 (Ctrl+\)
     - ILL : ill, 잘못된
        . SIGILL 4 : 잘못된 명령
     - KILL : 무조건적이고 즉각적인 종료
        . SIGKILL 9 : 프로세스 강제 종료
     - ALRM : Alarm
        . SIGALRM 14 : 알람에 의해 발생되며 종료
     - TERM : Terminate, 자연스런 실행 종료
        . SIGTERM 15 : 정상 종료 작업 처리 후에 끝냄

  ㅇ 시그널 관련 명령어
     - 시그널 목록 확인 명령어 : kill -l
     - 시그널 지시 명령어 : kill -옵션번호 프로세스ID


3. [Unix/Linux]  시그널 처리시그널프로세스에게 전달되면, 이를 반드시 처리 해야 함


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

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