리눅스 시스템 종료 및 재부팅 명령어 – shutdown, init, reboot, halt
리눅스에서는 시스템 종료와 재부팅을 위한 다양한 명령어가 제공됩니다. 서버 환경에서는 안전한 종료와 재부팅이 매우 중요하며, root 권한으로만 실행 가능한 명령이 많습니다. 이 글에서는 shutdown, init, reboot, halt 명령어의 차이와 사용법을 간단한 예제와 함께 정리합니다.
1. shutdown – 정시 종료/재부팅 예약 가능
설명
가장 정교하게 시스템 종료 및 재부팅을 제어할 수 있는 명령어입니다. 예약 종료, 경고 메시지 전송, 시점 지정 등이 가능합니다.
형식
shutdown [옵션] [시간]
주요 옵션
| 옵션 | 설명 | 예시 |
|---|---|---|
-h |
종료 (halt) | shutdown -h now |
-r |
재부팅 (reboot) | shutdown -r +5 |
시간 형식 예시
now: 즉시+5: 5분 후10:00: 오전 10시에
사용 예시
shutdown -h now # 즉시 종료
shutdown -h +10 # 10분 후 종료
shutdown -r 23:30 # 23:30에 재부팅
⚠️ 기본적으로 사용자는 시스템에 종료 예고 메시지를 수신하게 됩니다.
2. init – 런레벨 기반 제어
설명
전통적인 SysVinit 기반 시스템에서 사용하는 런레벨 전환 명령입니다. 현재는 systemd로 대체되는 추세지만 여전히 호환됩니다.
형식
init [런레벨]
런레벨 종류
| 런레벨 | 설명 |
|---|---|
0 |
시스템 종료 |
1 |
단일 사용자 모드 (복구용) |
3 |
텍스트 기반 다중 사용자 모드 |
5 |
GUI 모드 (X 윈도우) |
6 |
시스템 재부팅 |
사용 예시
init 0 # 시스템 종료
init 6 # 시스템 재부팅
⚠️ init 6은 즉시 재부팅되므로 주의해서 사용하세요.
3. reboot – 빠른 재부팅
설명
shutdown -r now의 축약 명령어이며, 즉시 시스템을 재시작합니다.
형식
reboot [옵션]
주요 옵션
| 옵션 | 설명 |
|---|---|
-f |
강제 재부팅 (파일 시스템 체크 생략) |
사용 예시
reboot # 기본 재부팅
reboot -f # 강제 재부팅
systemd 기반 시스템에서는 systemctl reboot도 동일하게 작동합니다.
4. halt – 시스템 종료 (전원 차단 없음)
설명
시스템 동작을 중단시키는 명령으로, 전원이 꺼지지 않는 경우도 있습니다.
형식
halt [옵션]
주요 옵션
| 옵션 | 설명 |
|---|---|
-f |
강제 종료 (sync 생략) |
사용 예시
halt # 시스템 중단
halt -f # 강제 종료
물리적인 서버에서는 halt 후 수동으로 전원을 꺼야 할 수도 있습니다.
비교 요약표
| 명령어 | 기능 | 예약 기능 | 강제 옵션 | 권장 사용도 |
|---|---|---|---|---|
shutdown |
정시 종료/재부팅 | O | - | ★★★★★ |
init |
런레벨 변경 | X | - | ★★★☆☆ (구형) |
reboot |
빠른 재부팅 | X | -f |
★★★★☆ |
halt |
시스템 종료 | X | -f |
★★☆☆☆ (대체 가능) |
질문 정리
shutdown -h now와 halt는 뭐가 다른가요?
shutdown -h now: 안전하게 종료 절차를 수행하며 사용자에게 메시지를 보냅니다.halt: 단순히 작동을 중단하며, 전원은 꺼지지 않을 수도 있습니다.
reboot와 init 6의 차이는?
- 기능은 같지만
init 6은 런레벨 체계를 기반으로 하고,reboot는 보다 직관적인 명령입니다.
shutdown 예약을 취소할 수 있나요?
shutdown -c
→ 예약된 종료/재부팅 취소
reboot나 shutdown이 안 될 때 대안은?
systemctl reboot또는systemctl poweroff를 사용해 보세요 (systemd 기반).
halt 후 화면이 멈춰 있는데 전원이 꺼지지 않아요.
- 이는 BIOS/ACPI 설정에 따라 다르며,
poweroff명령 또는shutdown -h now사용이 더 안전합니다.
정리
- 일반적 종료/재부팅:
shutdown사용 - 빠르게 종료/재부팅:
reboot,halt - 시스템 레벨 변경:
init
댓글남기기