
Signal: 초인종
Socket: 우편함
| 비교 항목 | Signal | Socket (Unix Domain) |
|---|---|---|
| 핵심 역할 | 제어 (Control) 및 인터럽트 | 데이터 전송 (Transport) |
| 데이터 크기 | 없음 (또는 정수 하나) | 제한 없음 (Byte Stream) |
| 전달 보장 | 낮음 (표준 시그널은 중복 발생 시 하나로 뭉쳐짐 - Coalescing) | 높음 (버퍼에 큐잉됨) |
| 네트워크 | 불가능 (OS 커널 내 한정) | 가능 (로컬 및 원격) |
| 주 사용처 | 데몬 리로드(SIGHUP), 강제 종료(SIGKILL), 자식 관리(SIGCHLD) | 로그 전송, DB 연결, 프로세스 간 데이터 파이프라인 |
SIGFPE), 메모리를 잘못 건드렸을 때(SIGSEGV), 커널이 프로세스에게 알려주는 유일한 수단입니다. 소켓으로는 이 정보를 받을 수 없습니다.0 :socket(), bind(), connect(), accept() 등 코드가 길어집니다.kill(pid, SIGUSR1) 한 줄이면 끝납니다. 단순 트리거용으로는 가성비가 최고입니다.kill 명령어로 프로세스를 제어하는 표준 인터페이스입니다.SIGUSR1이 100번 도착해도, 핸들러는 딱 1번만 실행될 수 있습니다. (표준 시그널은 큐에 쌓이지 않음).printf, malloc 사용 불가).