대부분의 유닉스 프로그램은 신호 좋아 동의 USR1
하고 USR2
. 예를 들어 Nginx의 실행 파일을 즉시 업그레이드하려면 kill -USR2
.
저는 USR1
이것이 "사용자 정의"신호라는 것을 이해합니다 . 즉, 프로그램을 만든 사람이 "종료", "로그 덤프"또는 "프를 천 번 인쇄"등의 의미로 사용할 수 있음을 의미합니다. 그러나 나는 그들이이 임의의 이름을 사용해야하는 이유를 이해하지 못한다. 왜 kill -UPGRADE
, 나 kill -GRACEFUL_SHUTDOWN
? Unix는 특정 신호 만 허용합니까?
그 동안 Nginx는 다음 신호도 사용합니다 ( 문서 참조 ).
- TERM, INT : 빠른 종료
- 종료 : 정상 종료
- HUP :
- 구성 다시로드
- 새 구성으로 새 작업자 프로세스 시작
- 이전 작업자 프로세스를 정상적으로 종료
- USR1 : 로그 파일 다시 열기
- USR2 : 즉시 실행 가능한 업그레이드
- WINCH : 작업자 프로세스를 정상적으로 종료
앉다? 윈치? 이 이름의 이유는 무엇입니까? 이에 대한 자세한 정보는 어디서 얻을 수 있습니까?