기본 처리가 프로세스를 종료하는 신호가 많이 있습니다. 최종 종료 신호는 처리 할 수없고 프로세스는 죽을 수밖에 없기 때문에 SIGKILL입니다. 그러나 이것은 또한 보내면 프로세스가 정리할 기회가 없어진다는 것을 의미합니다. 따라서 SIGKILL을 보내면 프로세스가 종료되지 않은 경우에만 처리 할 수있는 SIGTERM과 같은 신호를 보내야합니다.
SIGINT 및 SIGQUIT는 임의의 프로세스 종료에 적합하지 않습니다. 터미널의 키보드에서 생성 될 수 있기 때문에 많은 응용 프로그램에서 특수 목적으로 사용합니다. 예를 들어, 파이썬 인터프리터는 SIGINT를 사용하여 KeyboardInterrupt
예외 를 생성 하고 (대화식 파이썬 세션에서도 단순히 프롬프트로 돌아갑니다) JVM은 SIGQUIT를 사용하여 스택 추적을 덤프합니다. SIGINT 및 SIGQUIT는 대부분의 표준 명령 줄 같은 유틸리티에 대한 효과적인 남아 않는 find
나 cat
.
시스템이 종료되는 동안 대부분의 UNIX 및 Linux 시스템은 SIGTERM을 모든 프로세스에 보낸 다음 5 초 정도 기다렸다가 SIGKILL을 보냅니다. 이것은 임의의 프로세스를 안전하게 종료하는 데 권장되는 방법입니다.
또한 SIGKILL조차 프로세스가 깨어날 때까지 무정전 대기 상태에있는 프로세스를 종료하지 않을 수도 있습니다.
SIGKILL
.