2 분 소요

리눅스에서는 시스템 종료와 재부팅을 위한 다양한 명령어가 제공됩니다. 서버 환경에서는 안전한 종료와 재부팅이 매우 중요하며, 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 nowhalt는 뭐가 다른가요?

  • shutdown -h now: 안전하게 종료 절차를 수행하며 사용자에게 메시지를 보냅니다.
  • halt: 단순히 작동을 중단하며, 전원은 꺼지지 않을 수도 있습니다.

rebootinit 6의 차이는?

  • 기능은 같지만 init 6런레벨 체계를 기반으로 하고, reboot는 보다 직관적인 명령입니다.

shutdown 예약을 취소할 수 있나요?

shutdown -c

→ 예약된 종료/재부팅 취소


rebootshutdown이 안 될 때 대안은?

  • systemctl reboot 또는 systemctl poweroff를 사용해 보세요 (systemd 기반).

halt 후 화면이 멈춰 있는데 전원이 꺼지지 않아요.

  • 이는 BIOS/ACPI 설정에 따라 다르며, poweroff 명령 또는 shutdown -h now 사용이 더 안전합니다.

정리

  • 일반적 종료/재부팅: shutdown 사용
  • 빠르게 종료/재부팅: reboot, halt
  • 시스템 레벨 변경: init

카테고리:

업데이트:

댓글남기기