지금까지 원격에서 서버 컴퓨터를 끌 때 halt 명령어를 사용해 왔습니다. 어디서 봤는지는 모르지만, 아주 오래전에 Fedora Linux를 공부할 때 시스템 종료 명령어라고 알아뒀던 기억이 어렴풋이 납니다.
이 명령어를 가지고 가상머신에서 실습할 때는 아무 문제가 없었습니다. 하지만 실제 서버에서 이를 사용하니 서버가 완전히 꺼지지 않고 전원이 그냥 계속 켜져 있는 것이었습니다.
모든 프로세스가 종료되고 웹 페이지나 FTP 접속 모두 안 되는 그 상태로 전원 램프만 켜져 있는 상태였습니다. 마치 식물인간처럼...
처음에는 PC 자체 문제이거나 BIOS설정 문제인 줄 알았는데, 그게 아니었습니다. 시스템 종료 명령어는 두 가지 종류가 있는데, halt와 shutdown이 그것입니다.
halt 명령어
시스템이 아무 응답이 없는 경우 사용하는 강제 종료 명령어입니다. GUI 환경에서 시스템 종료 메뉴를 사용하지 않고 그냥 전원을 내리는 것과 같습니다.
별도로 입력하는 옵션은 없습니다.
shutdown 명령어
일반적인 시스템 종료와 같습니다. 옵션을 주어 시스템종료/재시작/예약 동작을 할 수 있습니다. 특별한 문제가 없는 한, halt 명령어보다는 이 명령어를 사용하는 편이 좋습니다.
즉시 종료하기
shutdown -h now
-h는 halt를 의미합니다.
즉시 재부팅하기
shutdown -r now
-r은 각각 reboot을 의미합니다.
예약하기
now 대신 +(숫자) 를 쓰면 예약 종료/재시작을 할 수 있습니다. 10분후 재시작하려는 경우 다음과 같이 입력하면 됩니다.
shutdown -r +10
예약 취소하기
-c 명령어를 사용하여 시스템 종료/재시작 예약을 취소할 수 있습니다.
shutdown -c
경고 메시지 전송하기
-k 옵션을 사용하여 시스템 종료나 재시작 전에 현재 접속중인 사용자들에게 시스템 종료 경고 메시지를 전송할 수 있습니다.
shutdown -k "System will be halted in 5 minutes!"