Linux
[Linux] restart, reload,graceful 차이
박만자
2022. 1. 4. 15:42
Linux에서 서비스를 재시작하는 명령어는 크게 세가지가 있다. 바로 restart,reload 그리고 graceful 이다.
셋다 똑같이 재시작을 실행하는 명령어라면 왜 굳이 세개로 나눠놨을까? 라는 의문이 들었다.
그래서 한번 이 셋의 차이점을 정리해보기로했다.
restart
restart는 stop과 유사합니다.
해당 프로세스의 쓰레드를 kill(종료)한 후 설정 파일 및 모듈 로드를 재실행합니다.
restart의 경우 완전히 종료되지만 프로세스를 종료시키기 때문에 종료되있는 동안 서비스를 이용할 수 없게 됩니다.
(Restart = stop + start)
reload
reload의 경우 restart와 달리 프로세스는 유지시킨후 설정파일만 다시 읽어드립니다.(모듈도 그대로 유지됨)
프로세스를 종료시키지 않고 유지시키기 때문에 restart와 달리 서비스가 끊기지 않고 이용할 수 있습니다.
(Reload = remain running + re-read configuration files.)
graceful
graceful의 경우 reload와 매우 유사합니다.
graceful 의 경우 접속된 connection은 유지하고 그외 모든 프로세스를 종료하고 재시작합니다. 세션의 종료 없이 설정파일을 불러서 재실행합니다.
참고
- https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_install&wr_id=115651
- https://idchowto.com/apache-restart-%EC%99%80-graceful%EC%9D%98-%EC%B0%A8%EC%9D%B4/
- https://stackoverflow.com/questions/31567165/what-is-the-difference-between-apache2-reload-restart-graceful