본문으로 바로가기

[리눅스] 시스템 종료 과정 ( shutdown )

category 운영체제/리눅스 2018. 11. 21. 23:02
반응형

지난 포스팅에서는 리눅스의 부팅 과정에 대해 알아보았습니다.


저도 이런 부분에 대해서 간단히만 알고 있었으나, 이번에 블로그를 쓰면서 조금더 자세히 알게 되었습니다.


오늘은 부팅의 반대인 시스템 종료에 대해 알아보겠습니다.


 

 

 



시스템 종료는 간단합니다. 정상적인 루틴에 대해 알아보겠습니다.


먼저 시스템 종료는 run level 0입니다. 동작을 한 후, 커널이 동작을 멈추게 됩니다.


run level0에서는 크게 두 가지만 기억해두시면됩니다.


첫번째는 부팅 과정에서 실행된 데몬 프로세스들을 모두 종료합니다.


두번째는 기동중인 프로그램들이 작업하던 내용을 정상적으로 종료할 수 있도록 텀을 주는 것입니다.


프로그램을 종료할 때는 강제적으로 종료시키는 것이 아니라 종료 시그널을 프로그램에게 전달하게됩니다.


시그널은 컴퓨터 내의 신호라고 보면됩니다. 이 것은 추후 포스트에서 자세히 정리해보겠습니다.


시그널은 TERM, QUIT, KILL의 순서로 하나씩 보내게 됩니다.


 

 

 




프로그램은 특정 시그널을 받았을 경우, 특정 동작을 할 수있도록 구현이 가능합니다.


이런 기능이 없다면, 프로세스 강제 종료 동작을 하게 됩니다.


모든 프로세스가 종료가 되면, 부팅시에 마운트된 디스크들을 언마운트 한 후, 종료가 됩니다.

반응형

댓글을 달아 주세요