리눅스 데브코스[6주차 - 5]<시그널>

심우열·2023년 5월 16일
0

1. 시그널

  • 프로세스에게 이벤트가 발생했음을 알림
    -> 프로세스간 정보 전달용 알림
    -> OS가 알려주는 소프트웨어 인터럽트

1. 시그널의 특징

  • 시그널은 큐에 들어가지 않는다
    -> 누적되어도 여러번 호출 안됨
    -> 시그널 핸들러에 오랜시간 들어가있게 되면 그 시간동안 발생된 시그널을 캐치할 수 없다
  • 전역 변수 조심히 사용해야 함
    -> 재진입 가능한 함수 사용

2. 고아와 좀비 프로세스

  • 자식 프로세스는 종료하면 좀비 프로세스로 변경됨
  • 부모가 wait() 함수를 호출하지 않으면 자식 프로세스는 좀비프로세스로 남게 됨

3. 시그널의 활용

  • Exceptiopn Handler 로써 활용
    -> 운영중인 시스템에 오류가 발생 시 디버깅 용도로 활용
  • 프로그램 오류 발생 시 예외 처리
    -> Call stack 저장
  • 타이머 시그널
    -> 타이머 인터럽트로 활용
    -> delayed_timeout
  • User 시그널
    -> 다양항 목적으로 활용(동적인 로그 출력 등)
profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글