Linux의 shutdown 명령어는 시스템을 안전하게 종료하기 위해 사용하는 표준 명령어입니다.
명령이 실행되면 로그인한 모든 사용자와 실행 중인 프로세스에 종료 예정 사실이 통지되고, 각 프로세스는 데이터를 저장하고 안전하게 종료할 수 있는 시간을 확보하게 됩니다.
또한 shutdown 명령어는 단순히 시스템을 끄는 것뿐만 아니라 재부팅하거나 다른 전원 상태로 전환하는 용도로도 활용할 수 있습니다.
기본 문법
shutdown [OPTION]... TIME [MESSAGE]
주요 옵션
shutdown 명령어에서 사용할 수 있는 옵션은 매뉴얼 기준으로 아래와 같습니다.
| 옵션 | 설명 |
|---|---|
| -r | 시스템 종료 후 자동으로 재부팅하도록 요청합니다. |
| -h | 시스템 종료 후 halt(정지) 또는 전원 차단 중 시스템이 판단하여 적절한 방식으로 처리하도록 요청합니다. |
| -H | 시스템 종료 후 halt 상태로 정지하도록 요청합니다. |
| -P | 시스템 종료 후 전원을 완전히 차단하도록 요청합니다. |
| -c | 실행 중이거나 예약된 shutdown 작업을 취소합니다. 이 옵션에는 TIME을 지정하지 않으며, 첫 번째 인수가 MESSAGE로 처리됩니다. |
| -k | 실제로 시스템을 종료하지 않고 경고 메시지만 전송하고 새로운 로그인을 차단합니다. |
실전 사용 예제
위에서 소개한 옵션들을 활용한 대표적인 사용 예시를 살펴보겠습니다.
일부 옵션(-H, -P 등)은 구형 하드웨어나 특수한 환경에서나 사용되는 경우가 많아 실무에서는 거의 쓰이지 않으므로, 가장 자주 사용되는 예제 위주로 정리했습니다.
참고로 대부분의 Linux 시스템에서 shutdown 명령어는 root 권한으로 실행하거나 sudo를 함께 사용해야 합니다.
1. 시스템 즉시 종료
sudo shutdown -h now
2. 시스템 즉시 재부팅
sudo shutdown -r now
3. 5분 후 종료 예약 및 접속 사용자에게 메시지 전송
sudo shutdown -h +5 "5분 후 시스템이 종료됩니다! 작업 내용을 저장해 주세요!"
4. 오전 10시에 예약된 재부팅 실행
sudo shutdown -r 10:00 "오전 10시 예정된 재부팅 작업입니다!"
5. 예약된 종료 취소
예약해 둔 shutdown 작업은 언제든지 취소할 수 있으며, 필요하다면 취소 사유를 담은 메시지도 함께 전송할 수 있습니다.
sudo shutdown -c sudo shutdown -c "재부팅을 예약했지만 취소하기로 했습니다."
마무리
컴퓨터를 종료한다는 개념은 누구나 알고 있지만, Linux 셸 환경에서는 이처럼 shutdown 명령어를 통해 안전하고 체계적으로 종료·재부팅 작업을 수행할 수 있습니다. 서버 운영 시에는 예약 종료와 사용자 알림 기능을 적절히 활용하면 작업 중인 사용자에게 피해를 주지 않고 시스템을 관리할 수 있습니다.