computer
시그널
유순이
2021. 7. 7. 07:27
시그널
:커널 또는 프로세스에서 다른 프로세스에 어떤 이벤트가 발생되었는지 알려주는 기법
Ctrl + C 프로세스 종료
Ctrl + Z foreground 프로세스가 background 프로세스로 변경 (멈춤)
- SIGKILL
- SIGALARM
- SIGSTP
- SIGCONT
- SIGINT
- SIGSEGV
kill -l
: 시그널 리스트 출력
시그널 동작 제어
- 시그널 무시
- 시그널 블록
- 시그널 재정의
- 커널에서 기본동작 수행
int kill(pid_t pid, int sig);
signal(SIGINT, SIG_IGN); --> 시그널 무시
signal(SIGINT, (void *)signal_handler); --> 재정의
&표시를 붙이면 background 실행
시그널과 프로세스
PCB에 해당 프로세스가 블록/처리해야 하는 시그널 관련 정보를 관리한다.
커널 -> 사용자 로 왔을 때 시그널 정보를 확인하고 처리한다.