리눅스 kill

    [Linux] kill  프로세스를 '안전하게' 종료시켜보자

    [Linux] kill 프로세스를 '안전하게' 종료시켜보자

    개요 kill 명령어는 이름 때문에 프로세스를 강제로 종료시키는 명령어로 오해를 사기 쉬운데 실제로는 프로세스에 시그널(signal)을 보내는 명령어입니다. 이름이 kill 인 이유는 어떤 시그널을 보낼 지 지정하지 않으면 기본적으로 SIGTERM 시그널을 보내게 되는데 SIGTERM의 기본 동작이 프로그램 종료이기 때문입니다. 물론 프로세스에 SIGKILL 시그널을 보내 강제로 종료시킬 수도 있습니다. 그렇지만 일반적인 상황에서 SIGKILL 시그널을 보내는 것은 권장되지 않습니다. 본래 프로그램을 설계 할 때 대부분의 경우 종료 시그널을 받았을 때 처리하고 있던 데이터가 안전하게 정리 될 수 있도록 설계합니다. SIGTERM, SIGINT 등의 종료 시그널에 대해 시그널 핸들러(handler)를 등록..