티스토리 뷰
shutdown, reboot, poweroff, halt - 서버의 종료 및 재시작
서버관리를 하다보면 여러가지 이유로 인하여 서버를 종료하거나 재시작 할 필요가 있다. 즉, 리눅스 커널(kernel)의 패치 또는 업그레이드 작업과 주기적인 하드웨어 점검등을 수행하기 위하여 이와 같은 종료나 재시작을 하게된다.
# shutdown - 시스템 종료 및 재시작
shutdown 명령어는 리눅스 서버의 종료와 재시작을 모두 수행한는 명령어이다. 리눅스에서 shutdown을 하게되면 다소 복잡한 과정을 거치게 되는데, 이는 다중운영체제의 필수요건인 다중사용자와 멀티태스킹, 멀티스래드등의 이유로 인하여 실행되고 있는 프로세스들을 중지하고 로그인되어 있는 사용자들이 모두 로그아웃해야 하며 메모리에 있는 저장되어 있는 데이터를 디스크로 저장해야하는 것등의 작업에 많은 시간과 과정이 안전하게 이루어져야하기때문이다.
관리자가 시스템을 종료할때의 작업순서와 shutdown을 했을 때 커널에서 내부적으로 이루어지는 작업은 다음과 같다.
* shutdown 하기전에 sync작업을 한다. (사전작업) * shutdown을 하게되면 다음과 같은 작업이 이루어 진다. - 접속해 있는 사용자들에게 시스템이 종료된다는 메시지를 보낸다. - 새로운 사용자의 로그인을 금지한다. - 지정된 시간내에 종료되지 않은 프로세스를 강제종료한다. - 지정된 시간내에 로그아웃하지 않은 사용자를 강제종료한다. - 메모리 남아있는 데이터를 디스크에 저장한다.(디스크동기화) - 시스템에 종료에 관련된 정보를 시스템 로그파일에 기록한다. - mount되어 있는 디바이스들을 umount한다. - 시스템을 종료한다. |
* 사용형식
shutdown [옵션] [시간] [경고메세지] /sbin/shutdown [-t sec] [-rkhncfF] time [warning-message] |
* 옵션
-k : 실제로 종료하지 않고 모든 사용자에게 경고 메시지만을 보낸다. -r : 시스템 종료후에 재부팅을 한다.(reboot) -h : shutdown 후에 시스템을 종료해 버린다.(halt) -f : 재부팅할 때 fsck(file system check)를 하지 않는다. 빠른 rebooting -c : shutdown명령어를 취소한다. time : 몇분후에 시스템을 종료할 것인가를 지정한다. warning-message : 사용자에게 보내질 종료 메시지. |
몇가지 shutdown 명령어에 대해 예를 들기 전에 간단한 부연설명을 하겠다.
shutdown 명령은 미리 사용자들에게 경고의 메세지를 보내고, 정해진 시간에 시스템을 종료할 수 있다. 시간은 24시간제를 기준으로 하며 절대시간과 상대시간으로 표시한다. 절대시간이라 hh:mm 의 형식이며(즉, 12:30 이런형식) 상대시간이란 +m 으로 표시한다. +m 이란 m분 후에 시스템을 종료한다는 의미이다.(+10은 10분후에) now 의 의미는 +0 의 또 다른 표현이라고 보면 된다.
* 기본 예제
[root@localhost~]#shutdown -h +10 : 10분 후에 종료 (h : halt) [root@localhost~]#shutdown -r 22:00 : 오후 10시에 재가동 (r : reboot) [root@localhost~]#shutdown -r now : 지금 즉시 종료 [root@localhost~]#shutdown -k now : 현재 접속된 사용자에게 종료 메세지만 보내고 실제 종료하지는 않음. |
# reboot - 서버 재시작
reboot명령어는 시스템을 종료한 후에 재부팅을 하는 명령어이다. 즉, "shutdown -r now"와 같다고 할 수 있다. 이 명령어는 halt와 poweroff와 마찬가지로 시스템을 종료하는 명령어이지만 halt와 poweroff는 시스템종료 후에 시스템의 재부팅을 하지 않지만 reboot은 시스템종료 후에 재부팅을 한다는 점에서 차이점이 있다. 일반적으로 halt와 poweroff는 시스템 종료명령어라고 하며 reboot은 시스템 재부팅명령어라고 할 수 있다.
그냥 reboot이라고 하면 시스템종료후에 재부팅을 합니다.
[root@host3 root]# reboot Broadcast message from root (pts/0) (Sat Oct 4 14:36:30 2003): The system is going down for reboot NOW! |
# poweroff / halt - 서버 종료
이 명령어는 서버를 종료하는 명령어입니다.
참고로 서버를 종료하는 동일한 명령어를 정리하면 아래와 같다.
# hlat # shutdown -h now # poweroff # init 0 |
'Linux > Linux 명령어' 카테고리의 다른 글
Linux vi 편집기 명령어 (0) | 2019.06.13 |
---|---|
Linux 파일,폴더 소유권 바꾸기 (0) | 2019.06.13 |