728x90
시그널이란?
특정 상황이 되었을 때 운영체제가 프로세스에게 해당 상황이 발생했음을 알리는 일종의 메시지
- SIGALRM : alarm 함수호출을 통해서 등록된 시간이 된 상황
- SIGINT : CTRL+C가 입력된 상황
- SIGCHLD : 자식 프로세스가 종료된 상황
시그널 등록
특정 상황에서 운영체제로부터 프로세스가 시그널을 받기 위해서는 해당 상황에 대해서 등록의 과정을 거쳐야함
시그널 등록의 예
- signal(SGICHLD, mychild); 자식 프로세스가 종료되면 mychild 함수를 호출해달라
- signal(SIGALRM,timeout); alarm 함수호출을 통해서 등록된 시간이 지나면 timeout 함수 호출
- signal(SIGINT, keycontrol); ctrl+c 가 입력되면 keycontrol 함수를 호출해달라
시그널이 등록되면, 함께 등록된 함수의 호출을 통해서 운영체제는 시그널의 발생을 알림
다만, signal 함수는 운영체제 별로 동작방식의 차이를 보임
728x90
'네트워크' 카테고리의 다른 글
[네트워크] HTTP (0) | 2023.06.12 |
---|---|
[네트워크] 쓰레드, 멀티 쓰레드 (0) | 2023.06.11 |
[네트워크] IO 멀티플렉싱 (0) | 2023.06.11 |
[네트워크] send&recv, readv&writev 입출력 함수 (0) | 2022.11.29 |
[네트워크] 멀티캐스트, 브로드캐스트 (0) | 2022.11.29 |